蓝图的概念类似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. 在阿里云和腾讯云的轻量应用服务器上搭建Hadoop集群

    引入 本文在两台2核2g的云服务器上搭建了Hadoop集群,两台云服务器分别是阿里云(hjm)和腾讯云(gyt),集群部署规划如下: hjm gyt HDFS NameNode\SecondaryNa ...

  2. Record -「Tricks」记录

    曼哈顿距离 \(\text{dist}(A,B)=|x_{A}-x_{B}|+|y_{A}-y_{B}|\) 可以拆成 \(\max\{x_{A}-x_{B}+y_{A}-y_{B},x_{A}-x_ ...

  3. 5分钟入门 next13

    上半年vercel 推出了nextjs13 这个大版本,刚好最近有个c端的项目,所以就用了这个框架来写,技术体系基本也是文档提到的 tailwindcss + ts + swr + ssr ,总的来开 ...

  4. mount时候遇到写保护,将以只读方式挂载

    mount时候遇到写保护,将以只读方式挂载 遇到 mount: 未知的文件系统类型"(null)" [root@localhost ~]# mount /dev/sdb /mnt/ ...

  5. C++算法之旅、08 基础篇 | 质数、约数

    质数 在>1的整数中,如果只包含1和本身这两个约数,就被称为质数(素数) 866 试除法判定 866. 试除法判定质数 - AcWing题库 \(O(n)\) bool isprime(int ...

  6. Python并发编程——操作系统发展史、多道技术、进程理论、开启进程、join方法、进程间的数据隔离

    文章目录 必备知识回顾 今日内容详细 操作系统发展史 多道技术 必备知识点 多道技术图解 多道技术重点知识 进程理论 必备知识点 进程调度 进程运行的三状态图 两对重要概念 开启进程的两种方式 joi ...

  7. Maze 1D 题解

    题目大意 在数轴上给定一串行动指令,类型有两种:向左移动一个单位 / 向右移动一个单位.要求最后一步到达一个没有到达过的位置.可以在数轴上放置若干个障碍物阻碍移动,问在放置的障碍物最少的情况下有多少放 ...

  8. Intellij13 IDEA常用快捷键 (mac 10.5 +),优化,使用出现的问题汇总

    http://blog.csdn.net/xiaohulunb/article/details/20729261

  9. 按既定顺序创建目标数组 (leetcode181周赛T1)

    给你两个整数数组 nums 和 index.你需要按照以下规则创建目标数组: 目标数组 target 最初为空. 按从左到右的顺序依次读取 nums[i] 和 index[i],在 target 数组 ...

  10. Dart 初探 (一)

    前言 Dart 是 Google 为 Flutter 开发的一款用于网页编程的语言,其类似于Javascript,也是一种面向对象的语言,但其采用基于类的编程,语法风格接近C语言. 虽说它是开发用于网 ...