蓝图的概念类似django的子应用,作用就是分模块开发,有关联的都放在一起。

蓝图的创建步骤:

  1. 新建一个包(一个包就是一个模块、等同于一个子应用)

  2. 在包的__init__.py中创建蓝图对象 。

    蓝图对象所有的参数和功能与Flask()对象类似。

    见:user下的__init__.py和views.py

  3. 在app中注册蓝图(子应用)(这玩意不就是和django的差不多嘛....)

PS.当然了,你完全可以将蓝图对象、视图函数都放在一个py文件中,只不过一般都是分开放的

实例:

  • 第一步:在项目目录下创建user包(等同于创建django的子应用)

  • 第二步:编辑user包的__init__.py文件,在里面创建蓝图对象

from flask import Blueprint

# 创建蓝图对象
# 第一个参数:蓝图的名称,类似django中的子应用名称
# 第二个参数:和Flask(__name__)的意义是一样的。
user_bp = Blueprint("user", __name__) # 延迟导入视图函数的集合模块(不然会出现循环导入的BUG)
from . import views
  • 第三步:在user包下创建views.py,将视图函数单独放到一个模块中(方便管理)
# 导入第2步中创建的蓝图对象(实际上就是一个子应用app的引用)
from . import user_bp # 剩余的使用方法和使用flask的app一样,比如指定路由:@app.route,这就是bp对象.route
@user_bp.route("/user/info", methods=["get", "post"])
def userinfo():
return "userinfo page"
  • 最后:在app中注册蓝图(最重要的一步!必须注册!不然用个)
from flask import Flask

app = Flask(__name__)

# 3、在项目总文件中注册蓝图(注册子应用)
from user import user_bp
# url_prefix参数用于:指定子应用的访问前缀url,这玩意就是和django的一样...
# url_prefix不写就是空,和django的是一样的。
app.register_blueprint(user_bp, url_prefix="/user") # 此时访问userinfo视图函数的路径就会变成:/user/user/info,因为第三步中是使用了/user/info if __name__ == '__main__':
print(app.url_map)
app.run(debug=True)

flask蓝图(这玩意就是django的子应用)的更多相关文章

  1. Flask蓝图,Session,闪现,中间件等

    Session 除请求对象之外,还有一个 session 对象.它允许你在不同请求间存储特定用户的信息.它是在 Cookies 的基础上实现的,并且对 Cookies 进行密钥签名要使用会话,你需要设 ...

  2. Flask 蓝图(Blueprint)

    蓝图使用起来就像应用当中的子应用一样,可以有自己的模板,静态目录,有自己的视图函数和URL规则,蓝图之间互相不影响.但是它们又属于应用中,可以共享应用的配置.对于大型应用来说,我们可以通过添加蓝图来扩 ...

  3. flask 蓝图

    转自:http://spacewander.github.io/explore-flask-zh/7-blueprints.html 蓝图 什么是蓝图? 一个蓝图定义了可用于单个应用的视图,模板,静态 ...

  4. Flask蓝图目录、Flask-SQLAlchemy、Flask-Script、Flask-Migrate

    一.Flask蓝图目录 我们之前写的Flask项目都是自己组织的目录结构,其实Flask官方有其推荐的目录结构,以下就是一个符合官方推荐的Flask小型应用的项目结构目录示例,如下: 如图,这就是我们 ...

  5. Flask蓝图基本使用

    Flask蓝图基本使用 Flask通过使用蓝图将视图函数模块化,使应用显得更加规整 比如我们的应用的视图函数包括用户相关和文章相关,那么我们可以通过建立两个py文件分别存储两类视图函数 user.py ...

  6. Flask蓝图Blueprint和特殊装饰器

    Flask 中的 蓝图 Blueprint 不能被run的flask实例:相当于django中的app01 应用 蓝图作用:功能隔离 路由隔离 Blueprint就是 一个不能run的flask 蓝图 ...

  7. Flask蓝图的增删改查

    怎样用flask蓝图来实现增删改查呢?请看下面的内容 这是我们的目录结构 从图中可以看出每一个功能都有一个各自的文件夹 首先我们要自己先来创建一个数据,在Flask_data.py中写入如下内容: S ...

  8. Flask蓝图遇到的问题

    欢迎加入python学习交流群 667279387 最近在使用flask开发一个业余学习项目,由于之前都是"小打小闹",整个程序都是放在一个文件夹里面的,也没有注意这个问题.这次项 ...

  9. Flask 蓝图进行路由分发.md

    Flask 蓝图进行路由分发 Flask虽然说是一个轻型web框架,但也总不能用一个py文件写完全部view吧,所以我们要把路由分到不同的py文件中.这就需要用到蓝图了. 一 创建一个py文件 用于处 ...

  10. Flask 蓝图(Blueprint)使用方式解析

    Flask蓝图提供了模块化管理程序路由的功能,使程序结构清晰.简单易懂.下面分析蓝图的使用方法 假如说我们要为某所学校的每个人建立一份档案,一个很自然的优化方式就是这些档案如果能分类管理,就是说假如分 ...

随机推荐

  1. Linq关联两个DataTable合并为一个DataTable

    DataSet ds ; DataTable dt1= ds.Tables[0]; DataTable dt2= ds.Tables[1]; //关联 var res = from m in dt1. ...

  2. [项目源码] JavaWeb校园宿舍管理系统

    jsp校园宿舍管理系统源码,采用Servlet+JSP+MySQL.包含数据库文件,界面采用bootstrap,简洁大方. 项目导入eclipse后的目录结构如下: 关注下面公众号,下载源码

  3. 破局DevOps|8大北极星指标指引研发效能方向

    放弃那些动辄就上百个的研发度量指标吧,8大北极星指标指引你的研发效能方向,1个北极星指标公式让你清晰了解​公司研发效能现状. 每当研发效能/DevOps业务做规划的时候,有的人就会毫无头绪,不知道如何 ...

  4. 2017-D

    2017-D 数据库部分 使用Windows 身份验证登录SQL Server ,建立数据库test0322,文件日志保存到一个专门的文件夹 建表 备份数据库,选定所创建数据库,右键-任务-备份-选择 ...

  5. ModbusTCP 转 Profinet 主站网关在博图配置案例

    ModbusTCP 转 Profinet 主站网关在博图配置案例 兴达易控ModbusTCP转Profinet网关,在 Profinet 侧做为 Profinet 主站控制器,接 Profinet 设 ...

  6. ModelScope

    欢迎来到ModelScope平台!本篇文章介绍如何快速开始使用ModelScope平台上的模型,包括所需的基础概念,环境安装,模型推理和训练的快速实践示例. 如何开始# 如果你是新手,想快速体验产品, ...

  7. https://www.oracle.com/au/cloud/free/

    https://www.oracle.com/au/cloud/free/ "Oracle Cloud Free "免费云在线注册关于个人应用的用户在注册和试用的过程中遇到任何问题 ...

  8. vue项目使用lodash节流防抖函数问题与解决

    背景 在lodash函数工具库中,防抖_.debounce和节流_.throttle函数在一些频繁触发的事件中比较常用. 防抖函数_.debounce(func, [wait=0], [options ...

  9. SQL Server事务及隔离级别

    事务的并发操作可能出现的问题 中文 英文 描述 脏读 Dirty Reads 事务2读到了事务1未提交的事务,事务1随后回滚,但事务2读到了事务1的"中间数据". 在Read Un ...

  10. QLabel自己总结(常用接口)

    继承关系:QLabel->QFrame->QWidget void setText(const QString &) [slots] 设置标签显示的内容,也可以使用构造函数设置. ...