gpt4 book ai didi

python - 如何检测 jinja 中的 Debug模式?

转载 作者:太空狗 更新时间:2023-10-29 21:22:02 26 4
gpt4 key购买 nike

在 flask 下,我想根据我们是否处于 Debug模式在 jinja 模板中包含/排除内容。我不是在争论这是好主意还是坏主意(我会投“坏”票,但仍然只想针对这种情况这样做 :-),那么这怎么可能最好呢?

我希望我不必将变量显式传递到模板中,不像这样:

render_template('foo.html', debug=app.debug)

并不是说这太难了,但我宁愿在模板中神奇地说:

{% if debug %}
go crazzzzy
{% endif %}

是否有一些默认变量只是懒惰地等着我突袭?

最佳答案

使用context processors

To inject new variables automatically into the context of a template, context processors exist in Flask. Context processors run before the template is rendered and have the ability to inject new values into the template context. A context processor is a function that returns a dictionary. The keys and values of this dictionary are then merged with the template context, for all templates in the app:

@app.context_processor
def inject_debug():
return dict(debug=app.debug)

现在 debug 变量可在模板中访问。

关于python - 如何检测 jinja 中的 Debug模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32903883/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com