在Flask中使用Jinja模板获取settings.py文件中的变量
假设我有一个叫 settings.py 的文件,里面有很多常量(将来可能会有更多)。我该如何在 Jinja 模板中访问这些变量呢?
2 个回答
7
你需要定义一个 context_processor
:
@app.context_processor
def inject_globals():
return dict(
const1 = const1,
const2 = const2,
)
通过这种方式注入的值会直接在模板中可用:
<p>The values of const1 is {{ const1 }}.</p>
你可能想用 Python 的 dir
函数,这样就不用一个一个列出所有常量了。
19
Flask会自动把你应用的配置包含在一个叫做标准上下文的地方。所以如果你使用了app.config.from_envvar
或者app.config.from_pyfile
来从设置文件中获取值,那么你在Jinja模板中就可以直接使用这些值了(比如说{{ config.someconst }}
)。