python - Jinja2 中的访问变量包括

标签 python flask jinja2

我在我的基本模板中包含一个模板,我呈现的模板对其进行了扩展。我在直接模板中设置了一个变量,并尝试在包含的模板中使用它。我希望以下输出 Active,但没有输出。为什么header.html看不到变量active

主.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 %}

最佳答案

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

解决方法是在包含之前访问变量。

base.html

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

关于python - Jinja2 中的访问变量包括,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33569774/

相关文章:

python - 如何在 Jinja2 上解压多个变量

python - 在 Python pandas 中自定义 rolling_apply 函数

Python3 sqlite3 BEGIN IMMEDIATE错误

python - 为什么我的逻辑回归的准确率这么低?

python - 加入列表中的元组

python - 使用带有 gunicorn 的flask_apscheduler

Apache2 命令(例如 a2enmod 和 a2ensite)无法正常工作,显示在 Ubuntu 中找不到命令

javascript - 如何在导入语句中使用变量

python - Jinja2动态变量构建

python - jinja2 函数和过滤器之间的区别?