配置方法:
(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')