FLask中蓝图(用于分文件)

FLask中蓝图(用于分文件),第1张

概述一,不使用蓝图,自己分文件 目录结构 app.py init.py user.py order.py 注意点:只有是包的时候才能from.然后import 相对路径进行导入 缺点 容易发生循环导入问题 一,不使用蓝图,自己分文件目录结构@H_403_4@-templates-vIEws -__init__.py -user.py -order.py-app.py

app.py

@H_403_4@from vIEws import appif __name__ == '__main__': app.run()

init.py

@H_403_4@from flask import Flask,requestapp = Flask(__name__)#不导入这个不行from . import accountfrom . import orderfrom . import user

user.py

@H_403_4@from . import [email protected]('/user')def user(): return 'user'

order.py

@H_403_4@from . import [email protected]('/order')def order(): return 'order'

注意点:只有是包的时候才能from.然后import 相对路径进行导入

缺点

容易发生循环导入问题

二.使用蓝图之中小型系统

详见代码点击可以下载

目录结构:@H_403_4@-flask_pro -flask_test -__init__.py -static -templates -vIEws -order.py -user.py -manage.py

_init.py

@H_403_4@from flask import Flaskapp=Flask(__name__)from flask_test.vIEws import userfrom flask_test.vIEws import orderapp.register_blueprint(user.us) #注册蓝图app.register_blueprint(蓝图的对象) app.register_blueprint(order.ord)

manage.py

@H_403_4@from flask_test import appif __name__ == '__main__': app.run(port=8008)

user.py

@H_403_4@from flask import Blueprintus=Blueprint('user',__name__) #蓝图的对象的名称=Blueprint('自定义蓝图名称',__name__) @us.route('/login')def login(): return 'login'

order.py

@H_403_4@from flask import Blueprintord=Blueprint('order',__name__)@ord.route('/test')def test(): return 'order test'三.使用蓝图之大型系统

详见代码点击可以下载

四.总结

1 xxx = Blueprint('account',__name__,url_prefix='/xxx')

url_prefix:蓝图URL前缀,表示url的前缀,在该蓝图下所有url都加前缀

2 xxx = Blueprint('account',url_prefix='/xxx',template_folder='tpls')

template_folder:给当前蓝图单独使用templates,向上查找,当前找不到,会找总templates

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

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

总结

以上是内存溢出为你收集整理的FLask中蓝图(用于分文件)全部内容,希望文章能够帮你解决FLask中蓝图(用于分文件)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1216012.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存