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的概念
相关推荐
bestallen 2020-08-17
JessePinkmen 2020-07-26
washing 2020-07-18
hzyuhz 2020-07-04
hzyuhz 2020-06-28
hzyuhz 2020-06-25
苦咖啡flask 2020-06-25
苦咖啡flask 2020-06-25
苦咖啡flask 2020-06-18
washing 2020-06-16
liuweiq 2020-06-14
wushaojun 2020-06-14
JessePinkmen 2020-06-14
kgshuo 2020-06-14
JessePinkmen 2020-06-14
bestallen 2020-06-13