配置方法:
(1) 直接在文件中 写 app.config['xxx'] = 'xxx'
app.config['DEBUG'] = True PS: 由于Config对象本质上是字典,所以还可以使用app.config.update(...) 注意: 某个对象 可以进行 a['aa'] = 111的操作的时候, 说明 (1) 重写了 __setitem__ 方法 (2) 继承了 dict
(2) 通过 config对象 的 from_pyfile方法:
.. 新建一个 settings.py 的文件(统一管理) : 里面直接 配置 XXX = 1111 .. app.config.from_pyfile('settings.py')
(3)通过config对象的 from_json方法:
app.config.from_json("json文件名称")
JSON文件名称,必须是json格式,因为内部会执行json.loads
(4) 通过 config 对象的 from_environ 方法 (与上一个类似)
import os os.environ('xxxx') = 'settings.py' app.config.from_environ('xxxx')
(5) 通过 config 对象的 from_object 方法 (导入文件中的一个类,不同的环境用不同的配置文件)
推荐使用
app.config.from_object('settings.DevConfig') # 开发的配置 app.config.from_object('settings.TestConfig') # 测试的配置 app.config.from_object('settings.ProConfig') # 正式的配置 settings.py : class BaseConfig(object): xxx = 111 # 公用的配置 class TestConfig(BaseConfig): DB = '127.0.0.1' class DevConfig(BaseConfig): DB = 'xx.x.0x.1' class ProConfig(BaseConfig): DB = 'xx.0x.0.1'
使用,获取 配置的时候:
from flask import current_app # 可以获取当前的 app c = current_app.config.get('xxx')