Flask基础学习
- 使用virtualenv实现python的虚拟环境
- Python Flask 入门开发
- Python Flask框架配置管理加载的三种方式
- Python Flask 路由配置
- Python Flask静态文件配置
- Python Flask模板渲染
- Python Flask 蓝图Blueprint
- Flask 使用Context上下文
- Flask中SQLAlchemy的使用
Flask 扩展
- 使用flask-script实现Flask项目定制shell功能
- Flask 中使用flask-admin实现数据模型绑定视图
- Flask 中使用mysql数据库
- Flask使用flask-migrate实现数据库迁移
Flask 进阶
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')