---恢复内容开始---

蓝图: flask模块化处理操作和URL的方式

作用:

  1. 将不同的功能模块化,实现模块化应用
  2. 构建大型应用
  3. 优化项目结构

使用步骤

  1. 创建蓝图对象
  2. 对蓝图对象进行操作(注册路由; 指定静态文件夹; 注册模板过滤器)
  3. 在应用对象上注册蓝图对象

代码操作

通过目录式结构定义蓝图

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相关推荐

  1. Flask 中的蓝图 Blueprint

    Flask 中的蓝图 Blueprint 在实际的项目开发中,需要实现的功能是很多的,通常来说一个功能至少需要一个视图函数,代码量比较大. 如果将所有视图函数都写在同一个 py 文件中,功能没有问题, ...

  2. 【Python 实战基础】Flask 蓝图 Blueprint 怎么用以及怎么集成 Bootstrap

    目录 一.简介 二.主要知识点 三.菜鸟实战 1.创建蓝图 2.注册蓝图 3.蓝图运行结果 ​4.下载和引入 Bootstrap 5.代码目录 6.Bootstrap 运行结果 一.简介 Flask ...

  3. 蓝图(Blueprint)理解

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.蓝图Blueprint是什么? 二.使用步骤 1.引入库 2.读入数据 总结 前言 提示:这里可以添加本文要记录的 ...

  4. Flask 蓝图 Blueprint

    为什么需要蓝图? 我们在使用Flask框架,是从写单个文件,执行hello world开始的.我们在这单个文件中可以定义路由.视图函数.定义模型等等.但这显然存在一个问题:随着业务代码的增加,将所有代 ...

  5. python之蓝图blueprint浅析

    目录 背景 一.python中的蓝图 二.创建蓝图 三.蓝图的运行机制 四.蓝图的url前缀 五.注册蓝图中的静态文件的相关路由 六.设置蓝图中模版的目录 七.调整session配置 背景 由于我们现 ...

  6. Flask框架(flask中的蓝图Blueprint)

    1. 我们学习Flask框架,开始的时候是把所有的视图函数等都写在一个文件中 我们在这单个文件中可以定义路由.视图函数.定义模型等等. 但这显然存在一个问题:随着业务代码的增加,将所有代码都放在单个程 ...

  7. Web框架——Flask系列之蓝图Blueprint(二十一)

    一.为什么学习蓝图? 我们学习Flask框架,是从写单个文件,执行hello world开始的.我们在这单个文件中可以定义路由.视图函数.定义模型等等.但这显然存在一个问题:随着业务代码的增加,将所有 ...

  8. 前端—基于Flask框架调用百度接口实现语音识别功能(使用蓝图blueprint)

    配合"基于Flask框架调用百度接口实现语音识别功能"使用的前端参考代码 后端代码链接 Python-基于Flask框架调用百度接口实现语音识别功能:基于Flask框架调用百度接口 ...

  9. 用 Flask 来写个轻博客 (16) — MV(C)_Flask Blueprint 蓝图

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 Blueprint 蓝图 定义一个蓝图 注册一个蓝图 创建蓝 ...

最新文章

  1. Vim 80列布局问题
  2. ansible相关说明
  3. 树转换为二叉树小技巧
  4. P3899 [湖南集训]更为厉害(线段树合并、长链剖分、二维数点)
  5. mysql 平滑扩容_数据库秒级平滑扩容架构方案
  6. 微软程序分析tcp 之服务端
  7. 基于Python+OpenCV的人脸口罩识别检测
  8. 8、饼图(ax.pie)
  9. 企业发展滞缓,还不是因为踩了这四个数据大坑!
  10. 正向代理和反向代理(概念特点区别)
  11. 【干货】PS 如何快速抠图示例
  12. 机器人在课堂上所表达的新科技发展观
  13. c jave等语言作用,编程语言的前世今生,看 Java、C、C++ 等语言的演变
  14. 麦田里的守望者——读后理解
  15. 永磁直流电机 matlab仿真,永磁直流电动机的Simulink建模仿真优秀教学.doc
  16. HazelEngine 学习记录 - Shader Abstraction and Uniforms
  17. MFC用户名和密码的登录界面设计
  18. DPU芯片头部企业云豹智能加入龙蜥社区,共同推动新一代数据中心基础设施蓬勃发展
  19. web开发学习,HTML标签语义化
  20. 大一小白的数模比赛(灰色关联度和灰色预测)附Matlab代码

热门文章

  1. .NET 部署-03Web Deployment项目-05自定义Web Deployment项目
  2. C#中Escape编码的加密、解密
  3. MATLAB 循环子字符串
  4. MySQL-基础操作之增删改查
  5. Deep Learning(深度学习)学习笔记整理系列 一
  6. 创业团队:找对人就成功了90%
  7. 如何在高并发环境下设计出无锁的数据库操作(Java版本) 转载
  8. AndroidStudio自动补完包的快捷键
  9. WP7 开发(二) 通过Geometries来绘制形状
  10. [PKUSC2018]真实排名——线段树+组合数