flask之配置文件
一、配置文件
在 Flask 中,引入配置文件有多种方式。大体就是从当前的app文件、指定的配置文件、环境变量、外部配置中心四处去取
1、直接在app中修改,只能改以下两个
app.debug=True app.secret_key='asdfasdf'
2、app.config.from_pyfile()
这是最常用的方法之一,可以加载一个 Python 符合格式的配置文件。
from flask import Flask
app = Flask(__name__)
app.config.from_pyfile('config.py')
# config.py 示例内容
# DEBUG = True
# DATABASE_URI = 'sqlite:///example.db'
3、app.config.from_object()
可以用来导入一个配置类或模块。
app.config.from_object('settings.ProductionConfig')
# app.config.from_object('settings.DevelopmentConfig')
print(app.config.get('REDIS_PORT'))
# settings.py 中配置好类
class Config(object):
DEBUG = False
REDIS_HOST = '127.0.0.1'
REDIS_PORT = 6379
# 生产环境
class ProductionConfig(Config):
REDIS_HOST = '192.168.1.13'
REDIS_PORT = 6380
# 开发环境
class DevelopmentConfig(Config):
DEBUG = True
4、app.config.from_envvar()
从环境变量指定的路径加载配置文件。这对于在不同的环境中(如开发、测试、生产)使用不同的配置特别有用。
import os
from flask import Flask
app = Flask(__name__)
app.config.from_envvar('APP_CONFIG_FILE')
# 在运行之前,定义环境变量
# export APP_CONFIG_FILE=/path/to/config.py
5、app.config.from_json()
直接从 JSON 格式的文件加载配置。
app = Flask(__name__)
app.config.from_json('config.json')
# config.json 示例内容
# {
# "DEBUG": true,
# "DATABASE_URI": "sqlite:///example.db"
# }
6、app.config.from_mapping()
直接传递一个字典来设置配置。这种方法适合于小型项目或快速原型。
app = Flask(__name__)
app.config.from_mapping(
DEBUG=True,
DATABASE_URI='sqlite:///example.db'
)
7、组合方式
可以组合多种方式引入配置,实现更灵活的配置管理。例如,你可以首先从环境变量加载配置,然后再从硬编码的配置文件覆盖某些设置。
app = Flask(__name__)
app.config.from_envvar('APP_CONFIG_FILE') # 从环境变量加载
app.config.from_pyfile('config.py') # 再从配置文件加载
8、从配置中心的api去取

浙公网安备 33010602011771号