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

 更新时间:2018年01月19日 09:23:56   作者:designer_mtb  
这篇文章主要介绍了flask中使用蓝图将路由分开写在不同文件实例解析,具有一定借鉴价值,需要的朋友可以参考下

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

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

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

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

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

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

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

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

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

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

以上内容来自Flask0.10.1文档

测试项目结构:

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使用session保存登录状态及拦截未登录请求代码

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

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

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

相关文章

  • python对ip地址进行排序、分类的方法详解

    python对ip地址进行排序、分类的方法详解

    这篇文章主要介绍了python对ip地址进行排序、分类的方法详解,IP协议全称为“网际互连协议Internet Protocol”,IP协议是TCP/IP体系中的网络层协议,需要的朋友可以参考下
    2023-07-07
  • Python2.6版本pip安装步骤解析

    Python2.6版本pip安装步骤解析

    这篇文章主要介绍了Python2.6版本pip安装步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • pyinstaller打包程序后闪退问题的解决方法

    pyinstaller打包程序后闪退问题的解决方法

    这篇文章主要给大家介绍了关于pyinstaller打包程序后闪退问题的解决方法,闪退原因可能有很多这里记录下我遇到的问题,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • 解决pycharm上的jupyter notebook端口被占用问题

    解决pycharm上的jupyter notebook端口被占用问题

    今天小编就为大家分享一篇解决pycharm上的jupyter notebook端口被占用问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • django模板加载静态文件的方法步骤

    django模板加载静态文件的方法步骤

    这篇文章主要介绍了django模板加载静态文件的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • 基于Opencv制作的美颜相机带你领略美颜特效的效果

    基于Opencv制作的美颜相机带你领略美颜特效的效果

    最关于美颜类相机最重要的是第一步:人脸检测,本篇文章中是采用openCV开源库实现,文中给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值
    2021-09-09
  • python查看模块,对象的函数方法

    python查看模块,对象的函数方法

    今天小编就为大家分享一篇python查看模块,对象的函数方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python基于urllib实现按照百度音乐分类下载mp3的方法

    python基于urllib实现按照百度音乐分类下载mp3的方法

    这篇文章主要介绍了python基于urllib实现按照百度音乐分类下载mp3的方法,涉及Python使用urllib模块操作页面元素的相关技巧,需要的朋友可以参考下
    2015-05-05
  • Mac下Supervisor进程监控管理工具的安装与配置

    Mac下Supervisor进程监控管理工具的安装与配置

    这篇文章主要介绍了Mac下Supervisor进程监控管理工具的安装与配置,Supervisor 是由 Python 写成,是一个类 unix 操作系统下的进程监控管理工具,本文讲解MAC系统下的配置与安装,需要的朋友可以参考下
    2014-12-12
  • python requests模拟登陆github的实现方法

    python requests模拟登陆github的实现方法

    这篇文章主要介绍了python requests模拟登陆github的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论