Flask
框架提供flask.config.Config
来进行管理程序运行时的配置管理,该类继承自Python
的字典,因此所有配置项都可以看成key-value
键值对,flask配置可以直接通过Flask
对象config
属性进行属性操作。我们可以通过如下三种方式进行加载配置项:

1、通过配置对象加载
通过创建settings.py
配置文件,通过导入配置文件进行加载,代码如下:
# settings.py
class Setting:
DEBUG = true
HOST = 127.0.0.1
PORT = 7000
ENV= 'development'
# main.py
from flask import Flask
# 导入配置类
from settings import Setting
app = Flask(__name__)
# 从配置对象中加载
app.config.from_object(Setting)
@app.route('/env')
def env():
# get方式调用配置
env = app.config.get('ENV')
print('get env:',env)
return env
if __name__ == "__main__":
app.run(host=app.config.get('HOST'),port=app.config.get('PORT'))
2、通过配置文件加载
通过配置文件进行加载,直接传入文件名即可,代码如下:
# settings.py
DEBUG = true
HOST = 127.0.0.1
PORT = 7000
ENV= 'development'
#main.py
from flask import Flask
app = Flask(__name__)
# 从配置对象中加载
app.config.from_pyfile('settings.py')
@app.route('/env')
def env():
# get方式调用配置
env = app.config.get('ENV')
print('get env:',env)
return env
if __name__ == "__main__":
app.run(host=app.config.get('HOST'),port=app.config.get('PORT'))
3、通过环境变量加载
可以在本地设置环境变量,然后通过代码导入环境变量,不好的就是单个单个导入,不太方便。代码如下所示:
$ export ENV = development
# main.py
from flask import Flask
app = Flask(__name__)
# 从配置对象中加载
app.config.from_envvar('ENV')
@app.route('/env')
def env():
# get方式调用配置
env = app.config.get('ENV')
print('get env:',env)
return env
if __name__ == "__main__":
app.run(host='127.0.0.1',port='7000')