Flask将配置信息保存到了app.config属性中,该属性可以按照字典类型进行操作
设置
- 从配置对象中加载
app.config.from_object(配置对象)
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.route('/')
def index():
#读取配置信息
print(app.config["SECRET_KEY"])
return 'hello world'
if __name__ == '__main__':
app.run()
运行结果
![](https://img.haomeiwen.com/i15616481/4b6d2a887f7277d7.png)
- 从配置文件中进行加载
helloworld_config.py
from flask import Flask
#配置对象方式加载配置信息
app = Flask(__name__,static_url_path="/s",static_folder="static_files")
#设置
# app.config.from_object(DefaultConfig)
app.config.from_pyfile('setting.py')
#定义视图
@app.route('/')
def index():
#读取配置信息
print(app.config["SECRET_KEY"])
return 'hello world'
if __name__ == '__main__':
app.run()
setting.py
SECRET_KEY = "asdf12312"
![](https://img.haomeiwen.com/i15616481/8d09f5de60311506.png)
- 环境变量中加载
在linux系统中设置和读取环境变量的方式如下
export 变量名 = 变量值 //写入
echo $变量名 //读取
![](https://img.haomeiwen.com/i15616481/2e875ca6a6d5b6a3.png)
from flask import Flask
#配置对象方式加载配置信息
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()
![](https://img.haomeiwen.com/i15616481/4569306f936f55bb.png)
![](https://img.haomeiwen.com/i15616481/8985b307b073ea97.png)
关于slient的说明:
表示系统环境变量中没有设置相应值时是否抛出异常
- False表示不安全的处理,没有值时报错通知,默认为False
- True表示安静的处理,即使没有值也让Flask正常的运行下去
网友评论