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爬虫爬取美剧网站的实现代码
Sep 03 Python
速记Python布尔值
Nov 09 Python
Python获取航线信息并且制作成图的讲解
Jan 03 Python
python的常见矩阵运算(小结)
Aug 07 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
Aug 22 Python
在Django下创建项目以及设置settings.py教程
Dec 03 Python
python json load json 数据后出现乱序的解决方案
Feb 27 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
Jul 18 Python
Python requests接口测试实现代码
Sep 08 Python
小结Python的反射机制
Sep 28 Python
浅析python 通⽤爬⾍和聚焦爬⾍
Sep 28 Python
python 基于pygame实现俄罗斯方块
Mar 02 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中限制ip段访问、禁止ip提交表单的代码分享
2014/08/22 PHP
php实现paypal 授权登录
2015/05/28 PHP
理解Javascript_03_javascript全局观
2010/10/11 Javascript
Ext.get() 和 Ext.query()组合使用实现最灵活的取元素方式
2011/09/26 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
2020/05/16 Javascript
Javascript创建类和对象详解
2017/05/31 Javascript
探索webpack模块及webpack3新特性
2017/09/18 Javascript
Angular开发实践之服务端渲染
2018/03/29 Javascript
深入理解JavaScript和TypeScript中的class
2018/04/22 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
2019/02/13 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
微信小程序扫描二维码获取信息实例详解
2019/05/07 Javascript
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
[43:24]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.12
2020/12/17 DOTA
Python2.x中文乱码问题解决方法
2015/06/02 Python
详谈python http长连接客户端
2017/06/12 Python
Python 私有函数的实例详解
2017/09/11 Python
TF-IDF与余弦相似性的应用(二) 找出相似文章
2017/12/21 Python
Win8下python3.5.1安装教程
2020/07/29 Python
Python实现的拉格朗日插值法示例
2019/01/08 Python
python实现文件助手中查看微信撤回消息
2019/04/29 Python
python笔记之mean()函数实现求取均值的功能代码
2019/07/05 Python
用Python从0开始实现一个中文拼音输入法的思路详解
2019/07/20 Python
python实现大战外星人小游戏实例代码
2019/12/26 Python
Matplotlib scatter绘制散点图的方法实现
2020/01/02 Python
pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
2020/01/13 Python
python实现mean-shift聚类算法
2020/06/10 Python
如何用H5实现一个触屏版的轮播器的实例
2017/01/09 HTML / CSS
入党申请人的自我鉴定
2013/12/01 职场文书
党员演讲稿
2014/09/04 职场文书
股东出资证明书(正规版)
2014/09/24 职场文书
个人汇报材料范文
2014/12/30 职场文书
《倍数和因数》教学反思
2016/02/23 职场文书
2019财务毕业实习报告
2019/06/27 职场文书
python munch库的使用解析
2021/05/25 Python