关闭页面特效

flask之蓝图系统

蓝图

对程序进行目录结构划分

不使用蓝图,自己分文件

目录结构:

-templates -views -__init__.py -user.py -order.py -app.py

app.py

from views import app if __name__ == '__main__': app.run()

init.py

from flask import Flask,request app = Flask(__name__) #不导入这个不行 from . import account from . import order from . import user

user.py

from . import app @app.route('/user') def user(): return 'user'

order.py

from . import app @app.route('/order') def order(): return 'order'

使用蓝图之中小型系统

详见代码:pro_flask_简单应用程序目录示例.zip

目录结构:

-flask_pro -flask_test -__init__.py -static -templates -views -order.py -user.py -manage.py

_init.py

from flask import Flask app=Flask(__name__) from flask_test.views import user from flask_test.views import order app.register_blueprint(user.us) # 注册应用对象到蓝图中 app.register_blueprint(order.ord) # 注册应用对象到蓝图中

manage.py

from flask_test import app if __name__ == '__main__': app.run(port=8008)

user.py

from flask import Blueprint, url_for us=Blueprint('user',__name__) # 给蓝图对象取别名,用于反向解析 @us.route('/login') def login(): print(url_for("user")) # 根据蓝图对象别名来进行反向解析 return 'login'

order.py

from flask import Blueprint ord=Blueprint('order',__name__) # 给蓝图对象取别名,用于反向解析 @ord.route('/test') def test(): return 'order test'

总结:

1 xxx = Blueprint('account', name,url_prefix='/xxx') :蓝图URL前缀,表示url的前缀,在该蓝图下所有url都加前缀

2 xxx = Blueprint('account', name,url_prefix='/xxx',template_folder='tpls'):给当前蓝图单独使用templates,向上查找,当前找不到,会找总templates

3 蓝图的befort_request,对当前蓝图有效

4 大型项目,可以模拟出类似于django中app的概念


__EOF__

作  者Mr. Xu
出  处https://www.cnblogs.com/XuChengNotes
关于博主:热爱生活,爱读书/旅游,喜欢技术,乐于专研。评论和私信会在第一时间回复。或者直接私信我。
版权声明:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   正在学习的Barry  阅读(651)  评论(0编辑  收藏  举报
编辑推荐:
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
阅读排行:
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
· C# 13 中的新增功能实操
· Supergateway:MCP服务器的远程调试与集成工具
· Vue3封装支持Base64导出的电子签名组件
-->
点击右上角即可分享
微信分享提示