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单链表实现代码实例
Nov 21 Python
Python中的localtime()方法使用详解
May 22 Python
python查看zip包中文件及大小的方法
Jul 09 Python
Python回文字符串及回文数字判定功能示例
Mar 20 Python
详解opencv Python特征检测及K-最近邻匹配
Jan 21 Python
详解【python】str与json类型转换
Apr 29 Python
python实现tail -f 功能
Jan 17 Python
Python Selenium参数配置方法解析
Jan 19 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
Feb 17 Python
python实现mean-shift聚类算法
Jun 10 Python
彻底解决pip下载pytorch慢的问题方法
Mar 01 Python
Python 循环读取数据内存不足的解决方案
May 25 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把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
微信支付开发交易通知实例
2016/07/12 PHP
PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】
2016/12/24 PHP
PHP中使用OpenSSL生成证书及加密解密
2017/02/05 PHP
JAVASCRIPT HashTable
2007/01/22 Javascript
js制作的鼠标悬浮时产生的下拉框效果
2012/10/27 Javascript
JavaScript调用堆栈及setTimeout使用方法深入剖析
2013/02/16 Javascript
jquery使用正则表达式验证email地址的方法
2015/01/22 Javascript
纯javascript代码实现计算器功能(三种方法)
2015/09/07 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
2016/03/09 Javascript
require、backbone等重构手机图片查看器
2016/11/17 Javascript
利用VUE框架,实现列表分页功能示例代码
2017/01/12 Javascript
React根据宽度自适应高度的示例代码
2017/10/11 Javascript
Less 安装及基本用法
2018/05/05 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
2019/05/30 Javascript
javascript实现5秒倒计时并跳转功能
2019/06/20 Javascript
简单了解JS打开url的方法
2020/02/21 Javascript
Python 数据处理库 pandas 入门教程基本操作
2018/04/19 Python
和孩子一起学习python之变量命名规则
2018/05/27 Python
Python实现的微信好友数据分析功能示例
2018/06/21 Python
解决pandas中读取中文名称的csv文件报错的问题
2018/07/04 Python
Python面向对象程序设计多继承和多态用法示例
2019/04/08 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
安纳塔拉酒店度假村及水疗官方网站:Anantara Hotel
2016/08/25 全球购物
英国的一家创新礼品和小工具零售商:Menkind
2019/08/24 全球购物
应聘医药代表职位求职信
2013/10/21 职场文书
厉行勤俭节约倡议书
2014/05/16 职场文书
学习考察心得体会
2014/09/04 职场文书
毕业证丢失证明范本
2014/09/20 职场文书
整改报告格式
2014/11/06 职场文书
2015年七年级班主任工作总结
2015/05/21 职场文书
小学家长意见怎么写
2015/06/03 职场文书
泰坦尼克号观后感
2015/06/04 职场文书
2015大学迎新标语
2015/07/16 职场文书
2019军训心得体会
2019/06/27 职场文书
CSS link与@import的区别和用法解析
2023/05/07 HTML / CSS