首页 文章

从bluprint模板文件夹访问布局模板

提问于
浏览
1

我有一个蓝图,有自己的模板文件夹 . “顶部”模板文件夹中还有一个基本布局模板 . 我想从蓝图模板访问此模板 . 我尝试了以下但得到了“找不到模板”错误 .

{% 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')

从另一个模板目录引用模板的正确方法是什么?

1 回答

  • 3

    Flask的Jinja加载器flattens将全局文件夹和所有蓝图文件夹放入一个公共树中,优先考虑全局文件夹 . 因此,只需将模板称为顶层位置即可 .

    {% extends "layout.j2" %}
    

    请注意,通过使用"j2"扩展名而不是".html",您可能无意中禁用了automatic escaping . 建议您对html模板使用".html"扩展名 .

相关问题