Flask-如何设置配置?
在 Flask 程序运行的时候,可以给 Flask 设置相关配置,比如:配置 Debug 模式,配置数据库连接地址等等
1.通过app.config[key] = value这种方式进行设置:
app.config是一个dict
app.py
# coding:utf-8 from flask import Flask app = Flask(__name__) app.config['DEBUG'] = True app.config['SECRET_KEY'] = 'dafepafalfavnavfdae23fda'
2.通过属性直接设置
Flask 应用程序将一些常用的配置设置成了应用程序对象的属性,也可以通过属性直接设置/获取某些配置:
app.debug = True
3.加载配置
- 从配置对象中加载(常用)
app.config.form_object()
- 从配置文件中加载
app.config.form_pyfile()
- 从环境变量中加载(不常用)
app.config.from_envvar()
3.1 配置对象加载
配置对象可以是类对象,也可以是导入的模块
类对象
app.py
# coding:utf-8 from flask import Flask app = Flask(__name__) class Config(object): DEBUG = True app.config.from_object(Config)
模块对象
在同级目录下新建config.py,在文件中按以下格式写入配置:
DEBUG = True
app.py
# coding:utf-8 import config from flask import Flask app = Flask(__name__) app.config.from_object(config)
3.2 配置文件加载
# coding:utf-8 from flask import Flask app = Flask(__name__) app.config.from_pyfile("config.py")
3.3 环境变量加载(了解)
4 读取配置
app.config.get()
在视图函数中既可以使用app.config.get(),也可以使用current_app.config.get(),效果一样
from flask import Flask,current_app app = Flask(__name__) app.debug = True @app.route('/test') def test(): print(app.config.get('DEBUG')) print(current_app.config.get('DEBUG')) return 'test' if __name__ == '__main__': app.run()
终端中会输出:
True
True