flask蓝图(这玩意就是django的子应用)
蓝图的概念类似django的子应用,作用就是分模块开发,有关联的都放在一起。
蓝图的创建步骤:
新建一个包(一个包就是一个模块、等同于一个子应用)
在包的__init__.py中创建蓝图对象 。
蓝图对象所有的参数和功能与Flask()对象类似。
见:user下的__init__.py和views.py
在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的子应用)的更多相关文章
- Flask蓝图,Session,闪现,中间件等
Session 除请求对象之外,还有一个 session 对象.它允许你在不同请求间存储特定用户的信息.它是在 Cookies 的基础上实现的,并且对 Cookies 进行密钥签名要使用会话,你需要设 ...
- Flask 蓝图(Blueprint)
蓝图使用起来就像应用当中的子应用一样,可以有自己的模板,静态目录,有自己的视图函数和URL规则,蓝图之间互相不影响.但是它们又属于应用中,可以共享应用的配置.对于大型应用来说,我们可以通过添加蓝图来扩 ...
- flask 蓝图
转自:http://spacewander.github.io/explore-flask-zh/7-blueprints.html 蓝图 什么是蓝图? 一个蓝图定义了可用于单个应用的视图,模板,静态 ...
- Flask蓝图目录、Flask-SQLAlchemy、Flask-Script、Flask-Migrate
一.Flask蓝图目录 我们之前写的Flask项目都是自己组织的目录结构,其实Flask官方有其推荐的目录结构,以下就是一个符合官方推荐的Flask小型应用的项目结构目录示例,如下: 如图,这就是我们 ...
- Flask蓝图基本使用
Flask蓝图基本使用 Flask通过使用蓝图将视图函数模块化,使应用显得更加规整 比如我们的应用的视图函数包括用户相关和文章相关,那么我们可以通过建立两个py文件分别存储两类视图函数 user.py ...
- Flask蓝图Blueprint和特殊装饰器
Flask 中的 蓝图 Blueprint 不能被run的flask实例:相当于django中的app01 应用 蓝图作用:功能隔离 路由隔离 Blueprint就是 一个不能run的flask 蓝图 ...
- Flask蓝图的增删改查
怎样用flask蓝图来实现增删改查呢?请看下面的内容 这是我们的目录结构 从图中可以看出每一个功能都有一个各自的文件夹 首先我们要自己先来创建一个数据,在Flask_data.py中写入如下内容: S ...
- Flask蓝图遇到的问题
欢迎加入python学习交流群 667279387 最近在使用flask开发一个业余学习项目,由于之前都是"小打小闹",整个程序都是放在一个文件夹里面的,也没有注意这个问题.这次项 ...
- Flask 蓝图进行路由分发.md
Flask 蓝图进行路由分发 Flask虽然说是一个轻型web框架,但也总不能用一个py文件写完全部view吧,所以我们要把路由分到不同的py文件中.这就需要用到蓝图了. 一 创建一个py文件 用于处 ...
- Flask 蓝图(Blueprint)使用方式解析
Flask蓝图提供了模块化管理程序路由的功能,使程序结构清晰.简单易懂.下面分析蓝图的使用方法 假如说我们要为某所学校的每个人建立一份档案,一个很自然的优化方式就是这些档案如果能分类管理,就是说假如分 ...
随机推荐
- HTML网页/KRPano项目一键打包EXE工具(HTML网页打包成单个windows可执行文件exe)
HTML一键打包EXE工具使用说明 工具简介 HTML一键打包EXE工具(HTML封装EXE,桌件)能把任意HTML项目(网址)一键打包为单个EXE文件,可以脱离浏览器和服务器,直接双击即可运行.支持 ...
- Note -「SOS DP」高维前缀和
本文差不多算是翻译了一遍 CF blog?id=45223 就是抄了一遍,看不懂可以去原文. 当然我的翻译并不是完全遵从原文的. Part. 1 Introduction 平时我们怎么求高维前缀和?容 ...
- RK3568开发笔记(十一):开发版buildroot固件移植一个ffmpeg播放rtsp的播放器Demo
前言 目标开发任务还有个功能,就是播放rtsp摄像头,当然为了更好的坐这个个,我们必须支持rtsp播放失败之后重新尝试,比如5s重新尝试打开一次,从而保障联网后重新打开,然后达成这个功能. D ...
- Go语言常用标准库——log、net_http、strconv、time包
文章目录 log 使用Logger 配置logger 标准logger的配置 flag选项 配置日志前缀 配置日志输出位置 创建logger 总结 net_http net/http介绍 HTTP协议 ...
- Redis系列之——API的使用
文章目录 一 通用命令 1.1 通用命令 1.2 数据结构和内部编码 1.3 单线程架构 1.3.1 单线程架构, 1.3.2 单线程为什么这么快 1.3.3 注意 二 字符串类型 2.1 字符串键值 ...
- STM32 + ESP32(AT固件 MQTT协议) + MQTTX(桌面终端) + (EMQX消息服务器)
翻出老物件,搭建一个简单的 IOT 开发环境,也算是废物利用了 ,接下来加传感器.1. STM32 采集数据: RTOS. 资源相对比较丰富,可以根据项目需求定制.2. ESP32 ...
- 开发现代化的.NetCore控制台程序:(3)将nuget包发布到GitHubPackages
前言 上一篇文章已经把项目模板的nuget包发布到了 nuget 的官方源了,其实还可以发布到其他源,比如 GitHub ,本文记录一下发布到 GitHub Packages 的过程. 注意:本文建立 ...
- SNN_文献阅读_Effective and Efficient Computation with Multiple-timescaleSpiking Recurrent Neural Networks
Adaptive SRNN 基于多时间尺度脉冲循环神经网络的高效计算(SRNN) 中心思想: 使用替代梯度进行训练,克服SNN中梯度不连续的问题. 在PyTorch中直接使用BPTT进行训练. 结构 ...
- EasyRE
注意 操作等级 亦或的操作优先级比减号低 C++运算符优先级_c++运算符的优先级顺序-CSDN博客 转换 还有注意一般都是小端存放,所以这里要逆序输出
- Miniconda安装及搭建
Miniconda安装配置 下载Miniconda Miniconda下载地址 最新版 Miniconda For Windows 下载链接 Windows 安装配置 修改Powershell执行策略 ...