Flask:我应该将自己的配置添加到app.config吗?

时间:2014-11-26 13:48:50

标签: python flask config

考虑一个Flask应用程序,它导入一个从文件生成配置的配置类(在本例中为YAML):

from config import ConfigGenerator
app = Flask(__name__)

Flask应用中配置对象的正确位置是什么?

它应该在模块命名空间中吗?

config = ConfigGenerator('/etc/server/config.yaml')    

app.config

app.config['my_config'] = ConfigGenerator('/etc/server/config.yaml')    

甚至直接在app下:

app.myconfig = ConfigGenerator('/etc/server/config.yaml')    

我认为所有三个选项都可以使用,但我想知道是否有任何样式或Flask特定的注意事项需要考虑。

1 个答案:

答案 0 :(得分:4)

前两个选项没有太大区别,除了您现在不必单独导入配置对象。换句话说,使用app.config,只要您有权访问current_app,就可以访问整个Flask应用中的配置。

不应使用最后一个选项,不要向Flask对象添加属性。