其实flask配置本质上就是一个字典,这些配置变量都通过Flask对象的app.config属性作为统一的接口来设置和获取,它指向的Config类实际上是字典的的子类
注意:配置的名称必须是全大写形式,小写的变量将不会被读取
flask加载配置有以下几种方式
1.直接配置
我们可以直接通过app.config["KEY"] = value的方式来配置配置文件
然后获取的方式可以通过
app.config.get("KEY") #或者 app.config["key"]
如果使用update方法可以一次配置多个配置
app.config.update( KEY1='ABC', KEY2='DEF' )
2.通过json文件来配置
主要是通过app.config.from_json("settings.json")
settings.json { "KEY":"json" }
获取方式和上面第一种一样
app.config.get("KEY")
3.通过字典配置
configDict={ 'KEY':'dictConfig' }
然后加载配置的方法是
app.config.from_mapping(configDict)
获取方式同上
app.config.get("KEY")
4.通过python文件配置
settings.py文件内容
KEY='pyConfig'
使用如下方式来加载配置
app.config.from_pyfile('settings.py')
获取方式还是
app.config["key"]
5.通过类配置
ConfigDemo.py内容如下
class BaseConfig(object): KEY = "objectConfig"
然后载入方式如下
from ConfigDemo import BaseConfig objConfig = BaseConfig() app.config.from_object(objConfig)
获取方式还是
app.config["key"]
以上例子是在我们测试中获取的配置的方式,在实际项目中,flask构建大型应用创建应用工厂时都会在创建app时全部载入对象中,我们在应用中需要通过current_app的方式获取这些配置