Flask - 访问模板中的config变量

ran*_*dra 54 python jinja2 flask

我正在使用Flask 0.7版.我已将静态内容的路径存储在配置文件中并使用它加载

app.config.from_envvar(<file_name>)
Run Code Online (Sandbox Code Playgroud)

我是否可以在模板中访问此配置变量而无需通过视图传递变量?

mde*_*ous 101

默认情况下,模板上下文中会传递一些全局变量(是完整列表),其中一个是config,它允许您从模板访问应用程序配置.作为字典,可以使用语法config['MY_CONFIGURATION']config.MY_CONFIGURATION(访问dict项的此语法特定于Jinja)来访问它.

另一方面,如果您想将任意数据传递给模板而不必在每个视图中明确地传递它,则必须使用上下文处理器.

  • 我只想指出"只有大写的值实际存储在配置对象中"; 当面对与海报相同的问题时,这给了我几分钟的困惑. (18认同)
  • 模板中的示例用法:`{{config.MY_CONFIGURATION}}` (5认同)
  • 如果在调试模式下将配置值存储在Python文件中,请不要忘记重新加载Flask,不会监视此文件中的更改. (3认同)