蓝图Blueprint
---恢复内容开始---
蓝图: flask模块化处理操作和URL的方式
作用:
- 将不同的功能模块化,实现模块化应用
- 构建大型应用
- 优化项目结构
使用步骤
- 创建蓝图对象
- 对蓝图对象进行操作(注册路由; 指定静态文件夹; 注册模板过滤器)
- 在应用对象上注册蓝图对象
代码操作
通过目录式结构定义蓝图
1.简单版
项目文件夹-模块文件夹-模块文件, __init__.py
from flask import Blueprint# 1.创建蓝图 goods_dp = Blueprint('goods', __name__)# 3.和views关联起来,导入views.py 放在此处导入是延迟导入解决循环导入问题 from .views import *
项目文件夹-模块文件夹-模块文件, views.py
from goods import goods_dp# 2.使用蓝图 @goods_dp.route('/goods/info') def goods():"""商品视图函数"""return 'goods'
项目文件夹下项目文件demo1.py
from flask import Flask from goods import goods_dpapp = Flask(__name__)# 4.注册蓝图 app.register_blueprint(goods_dp)if __name__ == '__main__':print(app.url_map)app.run(debug=True)
2.加强版, 一般大致是以下这种
项目文件下templates文件夹, 按不同模块建立不同文件夹, 如此处的goods文件夹; goods文件夹下建立HTML文件
goods.HTML里面放入需要添加的内容, 演示只简单操作如下
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <body><h1>商品模块</h1></body> </html>
1中的代码做下面更改
- views.py做以下更改
导入模块 from flask import render_template
返回语句return render_template("goods/goods.html")
from goods import goods_dp from flask import render_template# 2.使用蓝图 @goods_dp.route('/goods/info') def goods():"""商品视图函数"""return render_template("goods/goods.html")
运行demo1文件后, 此时浏览器访问127.0.0.1:5000/goods/info, 可以网页显示 商品模块
- 上面views.py中的代码继续更改:
把路径中的goods去掉放入__init__.py文件
from goods import goods_dp from flask import render_template# 2.使用蓝图 @goods_dp.route('/info') def goods():"""商品视图函数"""return render_template("goods/goods.html")
- __init__.py文件更改
加入前缀url_profix, 在蓝图上注册的路由URL自动被加上了这个前缀,这个可以保证在多个蓝图中使用相同的URL规则而不会最终引起冲突,只要在注册蓝图时将不同的蓝图挂接到不同的自路径即可
from flask import Blueprint# 1.创建蓝图 goods_dp = Blueprint('goods', __name__, url_prefix="/goods")# 3.和views关联起来,导入views.py 放在此处导入是延迟导入解决循环导入问题 from .views import *
转载于:https://www.cnblogs.com/taocc/p/9720042.html
蓝图Blueprint相关推荐
- Flask 中的蓝图 Blueprint
Flask 中的蓝图 Blueprint 在实际的项目开发中,需要实现的功能是很多的,通常来说一个功能至少需要一个视图函数,代码量比较大. 如果将所有视图函数都写在同一个 py 文件中,功能没有问题, ...
- 【Python 实战基础】Flask 蓝图 Blueprint 怎么用以及怎么集成 Bootstrap
目录 一.简介 二.主要知识点 三.菜鸟实战 1.创建蓝图 2.注册蓝图 3.蓝图运行结果 4.下载和引入 Bootstrap 5.代码目录 6.Bootstrap 运行结果 一.简介 Flask ...
- 蓝图(Blueprint)理解
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.蓝图Blueprint是什么? 二.使用步骤 1.引入库 2.读入数据 总结 前言 提示:这里可以添加本文要记录的 ...
- Flask 蓝图 Blueprint
为什么需要蓝图? 我们在使用Flask框架,是从写单个文件,执行hello world开始的.我们在这单个文件中可以定义路由.视图函数.定义模型等等.但这显然存在一个问题:随着业务代码的增加,将所有代 ...
- python之蓝图blueprint浅析
目录 背景 一.python中的蓝图 二.创建蓝图 三.蓝图的运行机制 四.蓝图的url前缀 五.注册蓝图中的静态文件的相关路由 六.设置蓝图中模版的目录 七.调整session配置 背景 由于我们现 ...
- Flask框架(flask中的蓝图Blueprint)
1. 我们学习Flask框架,开始的时候是把所有的视图函数等都写在一个文件中 我们在这单个文件中可以定义路由.视图函数.定义模型等等. 但这显然存在一个问题:随着业务代码的增加,将所有代码都放在单个程 ...
- Web框架——Flask系列之蓝图Blueprint(二十一)
一.为什么学习蓝图? 我们学习Flask框架,是从写单个文件,执行hello world开始的.我们在这单个文件中可以定义路由.视图函数.定义模型等等.但这显然存在一个问题:随着业务代码的增加,将所有 ...
- 前端—基于Flask框架调用百度接口实现语音识别功能(使用蓝图blueprint)
配合"基于Flask框架调用百度接口实现语音识别功能"使用的前端参考代码 后端代码链接 Python-基于Flask框架调用百度接口实现语音识别功能:基于Flask框架调用百度接口 ...
- 用 Flask 来写个轻博客 (16) — MV(C)_Flask Blueprint 蓝图
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 Blueprint 蓝图 定义一个蓝图 注册一个蓝图 创建蓝 ...
最新文章
- Vim 80列布局问题
- ansible相关说明
- 树转换为二叉树小技巧
- P3899 [湖南集训]更为厉害(线段树合并、长链剖分、二维数点)
- mysql 平滑扩容_数据库秒级平滑扩容架构方案
- 微软程序分析tcp 之服务端
- 基于Python+OpenCV的人脸口罩识别检测
- 8、饼图(ax.pie)
- 企业发展滞缓,还不是因为踩了这四个数据大坑!
- 正向代理和反向代理(概念特点区别)
- 【干货】PS 如何快速抠图示例
- 机器人在课堂上所表达的新科技发展观
- c jave等语言作用,编程语言的前世今生,看 Java、C、C++ 等语言的演变
- 麦田里的守望者——读后理解
- 永磁直流电机 matlab仿真,永磁直流电动机的Simulink建模仿真优秀教学.doc
- HazelEngine 学习记录 - Shader Abstraction and Uniforms
- MFC用户名和密码的登录界面设计
- DPU芯片头部企业云豹智能加入龙蜥社区,共同推动新一代数据中心基础设施蓬勃发展
- web开发学习,HTML标签语义化
- 大一小白的数模比赛(灰色关联度和灰色预测)附Matlab代码