Jinja2中的访问变量包括

时间:2015-11-06 15:09:03

标签: python flask jinja2

我在我的基本模板中包含了一个模板,我渲染的模板扩展了该模板。我在直接模板中设置了一个变量,并尝试在包含的模板中使用它。我希望以下输出Active,但是没有输出。为什么header.html无法看到变量active

main.py

@app.route("/")
def root():
    return render_template("page.html")

page.html中

{% set active = True %}
{% extends "base.html" %}

base.html文件

{% include "header.html" %}

header.html中

{% if active %}Active{% endif %}

1 个答案:

答案 0 :(得分:0)

似乎是一个错误,如https://github.com/mitsuhiko/jinja2/issues/352所示。

解决方法涉及在include之前访问变量。

<强> base.html文件

<!-- {{ active }} -->
{% include "header.html" %}