Flask工程配置信息应用场景
2020-08-31 本文已影响0人
测试探索
配置对象应用场景.app.config.from_object(配置对象)
- 优点:可继承,可复用
- 缺点:敏感信息暴露在代码中
- 应用场景:写默认配置
配置文件应用场景app.config.from_pyfile(配置文件)
- 优点:独立文件,保护敏感数据
- 缺点:不能继承,文件路径固定 不灵活
环境变量应用场景app.config.from_envvar('环境变量名')
- 优点:独立文件 保护敏感数据 文件路径不固定 灵活
- 缺点:不方便,记得设置环境变量
第一种方式和第二种方式组合使用
from flask import Flask
#配置对象方式加载配置信息
class DefaultConfig(object):
"""
默认配置
"""
SECRET_KEY = "123dfscbvwerfd"
app = Flask(__name__,static_url_path="/s",static_folder="static_files")
#设置
app.config.from_object(DefaultConfig)
# app.config.from_pyfile('setting.py')
app.config.from_envvar("PROJECT_SETTING",silent=False)
#定义视图
@app.route('/')
def index():
#读取配置信息
print(app.config["SECRET_KEY"])
return 'hello world'
if __name__ == '__main__':
app.run()
运行结果