You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Flask:如何在{% include ... %}中传递变量?

解决Jinja2中include语句传递变量的问题

嘿,这个问题我之前也碰到过!你在使用Jinja2的include标签时,犯了一个常见的语法小错误,咱们一步步来修复它:

问题根源

你在index.html里写的{% include {{ content }} %}是错误的——Jinja2的逻辑标签({% ... %})内部不需要再用变量渲染语法({{ ... }})包裹变量。{% %}本身就是用来处理模板逻辑的,直接在里面写变量名就可以了,嵌套的{{ }}会让模板引擎无法正确解析。

正确写法

把index.html里的include语句改成这样:

{% include content %}

你的后端代码(init.py)是完全没问题的:

@app.route("/about")
def about():
    return render_template("index.html", content="about.html")

这样当访问/about路由时,模板引擎会正确读取content变量的值,然后引入对应的about.html文件。

额外小技巧

如果需要给被引入的模板传递额外的变量,可以用with关键字:

{% include content with page_title="关于我们" %}

要是想把当前模板的所有上下文变量都传递给被引入的模板,就用:

{% include content with context %}

内容的提问来源于stack exchange,提问作者Dirkiboy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 16:37:59