【发布时间】:2011-10-24 11:35:57
【问题描述】:
假设我有带有一堆常量的 settings.py 文件(将来可能会更多)。如何在 Jinja 模板中访问这些变量?
【问题讨论】:
-
这可能是一个重复的问题。 stackoverflow.com/questions/7104198/…
假设我有带有一堆常量的 settings.py 文件(将来可能会更多)。如何在 Jinja 模板中访问这些变量?
【问题讨论】:
Flask 会自动将您的应用程序配置包含在 standard context 中。因此,如果您使用 app.config.from_envvar 或 app.config.from_pyfile 从设置文件中提取值,则您已经可以访问 Jinja 模板中的这些值(例如,{{ config.someconst }})。
【讨论】:
你需要定义一个context_processor:
@app.context_processor
def inject_globals():
return dict(
const1 = const1,
const2 = const2,
)
以这种方式注入的值将直接在模板中可用:
<p>The values of const1 is {{ const1 }}.</p>
您可能希望使用 Python dir 函数来避免列出所有常量。
【讨论】:
{{ g.const1 }})
app.config 是“标准”方式?