欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

蓝图Blueprint

发布时间:2025/5/22 编程问答 51 豆豆
生活随笔 收集整理的这篇文章主要介绍了 蓝图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的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。