使用工厂模式创建flask app,并结合适用配置对象与环境变量加载配置信息
- 使用配置对象加载默认配置
- 使用环境变量加载不想出现在代码中的敏感配置信息
from flask import Flask
#配置对象方式加载配置信息
class DefaultConfig(object):
"""
默认配置
"""
SECRET_KEY = "123dfscbvwerfd"
def create_flask_app(config):
"""
构建flask对象的工厂函数
:param config:
:return:
"""
app = Flask(__name__,static_url_path="/s",static_folder="static_files")
#设置
app.config.from_object(config)
# app.config.from_pyfile('setting.py')
app.config.from_envvar("PROJECT_SETTING",silent=False)
return app
app = create_flask_app(DefaultConfig)
#定义视图
@app.route('/')
def index():
#读取配置信息
print(app.config["SECRET_KEY"])
return 'hello world'
if __name__ == '__main__':
app.run()
运行结果
网友评论