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模块restful使用方法实例
Dec 10 Python
在Django中创建动态视图的教程
Jul 15 Python
python中函数传参详解
Jul 03 Python
Python之os操作方法(详解)
Jun 15 Python
简述Python2与Python3的不同点
Jan 21 Python
Python解决线性代数问题之矩阵的初等变换方法
Dec 12 Python
python web自制框架之接受url传递过来的参数实例
Dec 17 Python
Python中按键来获取指定的值
Mar 02 Python
五种Python转义表示法
Nov 27 Python
python 数据类型强制转换的总结
Jan 25 Python
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
Jun 11 Python
Python中的matplotlib绘制百分比堆叠柱状图,并为每一个类别设置不同的填充图案
Apr 20 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与MySQL开发中页面出现乱码的一种解决方法
2007/07/29 PHP
php递归函数中使用return的注意事项
2014/01/17 PHP
PHP房贷计算器实例代码,等额本息,等额本金
2017/04/01 PHP
eval的两组性能测试数据
2012/08/17 Javascript
js实现iframe自动自适应高度的方法
2015/02/17 Javascript
jQuery实现可用于博客的动态滑动菜单完整实例
2015/09/17 Javascript
javascript数据结构之二叉搜索树实现方法
2015/11/25 Javascript
基于JavaScript代码实现微信扫一扫下载APP
2015/12/30 Javascript
JS简单实现String转Date的方法
2016/03/02 Javascript
jQuery实现checkbox列表的全选、反选功能
2016/11/24 Javascript
利用jQuery解析获取JSON数据
2017/04/08 jQuery
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
jQuery鼠标悬停内容动画切换效果
2017/04/27 jQuery
深入浅析Nodejs的Http模块
2017/06/20 NodeJs
详解webpack-dev-server使用http-proxy解决跨域问题
2018/01/13 Javascript
Angular-UI Bootstrap组件实现警报功能
2018/07/16 Javascript
angular6 利用 ngContentOutlet 实现组件位置交换(重排)
2018/11/02 Javascript
微信小程序实现列表滚动头部吸顶的示例代码
2020/07/12 Javascript
[00:12]2018DOTA2亚洲邀请赛 Somnus丶M出阵单挑
2018/04/06 DOTA
[01:11]steam端dota2实名认证操作流程视频
2021/03/11 DOTA
python使用scrapy解析js示例
2014/01/23 Python
Python requests发送post请求的一些疑点
2018/05/20 Python
如何优雅地改进Django中的模板碎片缓存详解
2018/07/04 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
如何用canvas实现在线签名的示例代码
2018/07/10 HTML / CSS
记一次高分屏下canvas模糊问题
2020/02/17 HTML / CSS
捷克时尚网上商店:OTTO
2018/03/15 全球购物
英国时尚优质的女装:Hope Fashion
2018/08/14 全球购物
高级Java程序员面试要点
2013/08/02 面试题
写给女生的道歉信
2014/01/08 职场文书
补充协议书范本
2014/04/23 职场文书
大学生安全责任书
2014/07/25 职场文书
信用卡工作证明模板
2014/09/14 职场文书
综合测评自我评价
2015/03/06 职场文书
python编程学习使用管道Pipe编写优化代码
2021/11/20 Python