在Flask模板中打印变量
我在代码里有一个变量,它藏得很深在一些老旧的代码里。与其花一整天去找这个变量,不如直接在jinja模板里把它打印出来。这样可以吗?
我试过用 {% print var %}
,但是好像没有任何效果。
2 个回答
2
你需要使用上下文处理器。
下面是一个可以放在你的 .py 文件里的例子:
@app.context_processor
def get_legacy_var():
return dict(get_legacy_var=your_get_legacy_var_function())
然后在你的模板中:
{{ get_legacy_var }}
这样做会在生成模板的时候调用 Python,获取你变量的值,并把它返回到模板中。
10
输出变量的写法是 {{var}},而 {% %} 是用来写代码块和其他指令的。不过听起来像是这个变量没有传递到模板里。你可以检查一下这个问题。
如果你在调试的时候遇到很多问题,可以试试 Flask-DebugToolbar,它会把所有传递给模板的变量都打印出来,这样你就不需要像这样到处加打印语句了。这个工具很有用。