flask中使用蓝图将路由分开写在不同文件实例解析


Posted in Python onJanuary 19, 2018

本文的内容主要是flask中使用蓝图将路由分开写在不同文件的相关介绍,具体如下。

Flask 用 蓝图(blueprints) 的概念来在一个应用中或跨应用制作应用组件和支持通用的模式。蓝图很好地简化了大型应用工作的方式,并提供给 Flask 扩展在应用上注册操作的核心方法。一个Blueprint 对象与Flask 应用对象的工作方式很像,但它确实不是一个应用,而是一个描述如何构建或扩展应用的蓝图 。

Flask 中的蓝图为这些情况设计:

把一个应用分解为一个蓝图的集合。这对大型应用是理想的。一个项目可以实例化一个应用对象,初始化几个扩展,并注册一集合的蓝图。

以 URL 前缀和/或子域名,在应用上注册一个蓝图。 URL 前缀/子域名中的参数即成为这个蓝图下的所有视图函数的共同的视图参数(默认情况下)。

在一个应用中用不同的 URL 规则多次注册一个蓝图。

通过蓝图提供模板过滤器、静态文件、模板和其它功能。一个蓝图不一定要实现应用或者视图函数。

初始化一个 Flask 扩展时,在这些情况中注册一个蓝图。

Flask 中的蓝图不是即插应用,因为它实际上并不是一个应用——它是可以注册,甚至可以多次注册到应用上的操作集合。为什么不使用多个应用对象?你可以做到那样(见应用调度 ),但是你的应用的配置是分开的,并在 WSGI 层管理。

蓝图作为 Flask 层提供分割的替代,共享应用配置,并且在必要情况下可以更改所注册的应用对象。它的缺点是你不能在应用创建后撤销注册一个蓝图而不销毁整个应用对象。

以上内容来自Flask0.10.1文档

测试项目结构:

flask中使用蓝图将路由分开写在不同文件实例解析

user.py:

#coding:utf-8 
#user 
from flask import Blueprint, render_template, redirect 
user = Blueprint('user',__name__) 
 
@user.route('/index') 
def index(): 
  return render_template('user/index.html') 
@user.route('/add') 
def add(): 
  return 'user_add' 
@user.route('/show') 
def show(): 
  return 'user_show'

admin.py:

# coding:utf-8 
#admin.py 
from flask import Blueprint,render_template, request 
admin = Blueprint('admin',__name__) 
 
@admin.route('/index') 
def index(): 
  return render_template('admin/index.html') 
@admin.route('/add') 
def add(): 
  return 'admin_add' 
@admin.route('/show') 
def show(): 
  return 'admin_show'

view.py:

# coding:utf-8 
from flask import Flask,request,render_template 
from admin.admin import admin 
from user.user import user 
app=Flask(__name__) 
app.register_blueprint(admin,url_prefix='/admin') 
app.register_blueprint(user, url_prefix='/user') 
if __name__ == '__main__': 
  app.run()

flask中使用蓝图将路由分开写在不同文件实例解析

总结

以上就是本文关于flask中使用蓝图将路由分开写在不同文件实例解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

flask使用session保存登录状态及拦截未登录请求代码

浅谈flask截获所有访问及before/after_request修饰器

flask中主动抛出异常及统一异常处理代码示例

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
python 如何快速找出两个电子表中数据的差异
May 26 Python
Python实现冒泡排序的简单应用示例
Dec 11 Python
详解Python异常处理中的Finally else的功能
Dec 29 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
Jan 03 Python
python gensim使用word2vec词向量处理中文语料的方法
Jul 05 Python
django 通过url实现简单的权限控制的例子
Aug 16 Python
pytorch掉坑记录:model.eval的作用说明
Jun 23 Python
Pandas的Apply函数具体使用
Jul 21 Python
PyCharm配置anaconda环境的步骤详解
Jul 31 Python
基于python实现操作redis及消息队列
Aug 27 Python
PyChon中关于Jekins的详细安装(推荐)
Dec 28 Python
python中numpy.empty()函数实例讲解
Feb 05 Python
python模拟事件触发机制详解
Jan 19 #Python
flask使用session保存登录状态及拦截未登录请求代码
Jan 19 #Python
简单谈谈python中的lambda表达式
Jan 19 #Python
python使用logging模块发送邮件代码示例
Jan 18 #Python
zookeeper python接口实例详解
Jan 18 #Python
Python获取当前函数名称方法实例分享
Jan 18 #Python
Python AES加密实例解析
Jan 18 #Python
You might like
PHP微框架Dispatch简介
2014/06/12 PHP
CodeIgniter CLI模式简介
2014/06/17 PHP
PHP防盗链的基本思想 防盗链的设置方法
2015/09/25 PHP
学习php设计模式 php实现工厂模式(factory)
2015/12/07 PHP
PHP网站自动化配置的实现方法(必看)
2017/05/27 PHP
php实现的rc4加密解密类定义与用法示例
2018/08/16 PHP
laravel框架使用极光推送消息操作示例
2020/02/15 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
thinkphp5.1框架模板赋值与变量输出示例
2020/05/25 PHP
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
2011/12/20 Javascript
Package.js  现代化的JavaScript项目make工具
2012/05/23 Javascript
28个常用JavaScript方法集锦
2015/01/14 Javascript
AngularJS模块管理问题的非常规处理方法
2015/04/29 Javascript
深入浅出 jQuery中的事件机制
2016/08/23 Javascript
鼠标点击input,显示瞬间的边框颜色,对之修改与隐藏实例
2016/12/26 Javascript
完美实现js焦点轮播效果(一)
2017/03/07 Javascript
微信小程序中多个页面传参通信的学习与实践
2017/05/05 Javascript
javascript 开发之百度地图使用到的js函数整理
2017/05/19 Javascript
js刷新页面location.reload()用法详解
2019/12/09 Javascript
Python StringIO模块实现在内存缓冲区中读写数据
2015/04/08 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
python3+PyQt5使用数据库表视图
2018/04/24 Python
Python帮你识破双11的套路
2019/11/11 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
2020/02/12 Python
大专生工程监理求职信
2013/10/04 职场文书
运动会解说词50字
2014/01/18 职场文书
KTV的创业计划书范文
2014/02/02 职场文书
2014年个人工作总结模板
2014/12/15 职场文书
逃课检讨书
2015/01/26 职场文书
荆州古城导游词
2015/02/06 职场文书
公司员工体检通知
2015/04/21 职场文书
女性健康知识讲座主持词
2015/07/04 职场文书
学校食堂管理制度
2015/08/04 职场文书
导游词之广州陈家祠
2019/10/21 职场文书