所以我有一个工作布局_layout.html
(使用 Jinja2 v2.6 和 Flask),其中包括我的标题{% include 'header.html' %}
和正文内容{% block content %}{% endblock %}
(按此顺序)。
header.html
<ul>
<li><a href="/about" {% if active_page == 'about' %} class="selected" {% endif %}>ABOUT</a></li>
</ul>
about.html
{% extends "_layout.html" %}
{% set active_page = 'about' %}
{% block content %}
...
{% endblock %}
问题是,由于子模板是全局的,并且在评估布局模板之前执行,因此class="selected"
没有添加模板,因为header.html
模板在其上下文中没有 active_page。
如果我将 header.html 内容放在主布局中一切正常,我怎样才能使用我拥有的包含和结构来让它工作?
编辑:
我也试过了{% include 'header.html' with context %}
,{% from 'header.html' import input with context %}
两者都不起作用。