使用Flask从Jinja模板中的settings.py文件中获取变量

时间:2011-08-10 21:20:49

标签: python flask jinja2

假设我有一堆常量的settings.py文件(未来可能更多)。如何在Jinja模板中访问这些变量?

2 个答案:

答案 0 :(得分:14)

Flask会自动在standard context中包含您的应用程序配置。因此,如果您使用app.config.from_envvarapp.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函数来避免列出所有常量。