假设我有一堆常量的settings.py文件(未来可能更多)。如何在Jinja模板中访问这些变量?
答案 0 :(得分:14)
Flask会自动在standard context中包含您的应用程序配置。因此,如果您使用app.config.from_envvar
或app.config.from_pyfile
从设置文件中提取值,则您已经可以访问Jinja模板中的这些值(例如{{ config.someconst }}
)。
答案 1 :(得分:6)
您需要定义context_processor
:
@app.context_processor
def inject_globals():
return dict(
const1 = const1,
const2 = const2,
)
以这种方式注入的值将直接在模板中提供:
<p>The values of const1 is {{ const1 }}.</p>
您可能希望使用Python dir
函数来避免列出所有常量。