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