python – Flask:多个蓝图相互干扰
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – Flask:多个蓝图相互干扰,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1256字,纯文字阅读大概需要2分钟。
内容图文
![python – Flask:多个蓝图相互干扰](/upload/InfoBanner/zyjiaocheng/827/28ac938b8efa4ddd8c185b4d508ce3ff.jpg)
我正在用蓝图测试Flask.我的应用有两个蓝图:
>基地
>意见
碱/ __ init__.py
base = Blueprint('base', __name__, static_folder='static', template_folder='templates')
#http://server.com/base
意见/ __ init__.py
opinions = Blueprint('opinions', __name__, static_folder='static', template_folder='templates')
#http://server.com/opinions
__init__.py
app = Flask(__name__)
from app.base import views
from app.base import base
app.register_blueprint(base, url_prefix='/base')
from app.opinions import views
from app.opinions import opinions
#app.register_blueprint(opinions, url_prefix='/opinions') <-- Uncommenting this line causes issues
如果我只注册其中一个蓝图,一切运行正常.但是,如果我同时注册两个蓝图,则总是从意见中加载模板.例如,如果我点击http://server.com/base,则会从views文件夹中选择index.html. Flask文档没有提到任何关于’template_folder’命名空间冲突的内容.
PS – 我想知道处理多个蓝图的其他方法.我不太习惯从两个不同的蓝图导入视图文件.什么是更好的方法呢?
解决方法:
蓝图模板目录在全球注册.它们共享一个命名空间,以便您的应用程序可以在必要时覆盖蓝图的模板.这在文档中提到了.
因此,您不应该将您的意见的模板命名为index.html,而应将其命名为opinion / index.html.这使得乍一看尴尬的路径(… / views / templates / views / …),但增加了自定义“预制”模板的灵活性,而无需更改蓝图的内容.
内容总结
以上是互联网集市为您收集整理的python – Flask:多个蓝图相互干扰全部内容,希望文章能够帮你解决python – Flask:多个蓝图相互干扰所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。