从蓝图模板文件夹访问布局模板
Access a layout template from a blueprint template folder
我有一个带有自己模板文件夹的蓝图。 "top" 模板文件夹中还有一个基本布局模板。我想从蓝图模板访问此模板。我尝试了以下但出现 "Template Not Found" 错误。
{% extends "../../../../../templates/layout.j2" %}
包裹看起来像这样:
__init__.py
├── modules
│ └── citrixlb
│ ├── citrixlb.py
│ └── templates
└── templates
└── layout.j2
我设置了蓝图的template_folder
:
citrix = Blueprint('citrix', __name__, template_folder='templates', url_prefix='/citrix')
从另一个模板目录引用模板的正确方法是什么?
Flask 的 Jinja 加载器 flattens 将全局文件夹和所有蓝图文件夹合并到一个公共树中,优先考虑全局文件夹。因此,只需引用模板,就好像它位于顶级位置一样。
{% extends "layout.j2" %}
请注意,通过使用 "j2" 扩展名而不是“.html”,您可能无意中禁用了 automatic escaping。建议您对 html 模板使用“.html”扩展名。
我有一个带有自己模板文件夹的蓝图。 "top" 模板文件夹中还有一个基本布局模板。我想从蓝图模板访问此模板。我尝试了以下但出现 "Template Not Found" 错误。
{% extends "../../../../../templates/layout.j2" %}
包裹看起来像这样:
__init__.py
├── modules
│ └── citrixlb
│ ├── citrixlb.py
│ └── templates
└── templates
└── layout.j2
我设置了蓝图的template_folder
:
citrix = Blueprint('citrix', __name__, template_folder='templates', url_prefix='/citrix')
从另一个模板目录引用模板的正确方法是什么?
Flask 的 Jinja 加载器 flattens 将全局文件夹和所有蓝图文件夹合并到一个公共树中,优先考虑全局文件夹。因此,只需引用模板,就好像它位于顶级位置一样。
{% extends "layout.j2" %}
请注意,通过使用 "j2" 扩展名而不是“.html”,您可能无意中禁用了 automatic escaping。建议您对 html 模板使用“.html”扩展名。