Flask 配置方法

本文详细介绍了Flask的四种配置方法:硬编码到代码中、from_object、from_pyfile和from_envvar。from_object需确保settings.py为模块,from_pyfile可处理非.py文件,from_envvar则通过环境变量加载配置,支持静默模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Flask 配置方法



第一种:硬编码到代码中

app = Flask(__name__)

# 配置硬编码
app.config.update(
    DEBUG=True
)
...

app.config 是 flask.config.Config 类的实例,继承自 Python 内置数据结构 dict,因此还可以:

app.config["DEBUG"] = True

第二种:from_object

# settings.py
DEBUG = True
# main.py
app.config.from_object("settings")  # 模块名字

# 或者
import settings
app.config.from_object(settings)  # 模块对象

此方法必须保证 settings.py 是模块。

第三种:from_pyfile

# settings
DEBUG = True
# main.py
app.config.from_pyfile("settings", silent=True)

from_pyfile() 方法接收文件名字(可以不是 py 文件)。silent = True 表示开启静默模式:当配置文件不存在时,程序会抛异常,静默模式开启后,函数只返回 False。

第四种:from_envvar

# settings
DEBUG = True
# main.py
app.config.from_envvar("GUAN")
# 终端
$ export GUAN="settings"  # 变量名可以任意
$ py3 main.py

通过加载环境变量,读取配置文件。同时也支持使用 silent 开或关静默模式。在 from_envvar 内部,借助 from_pyfile 实现了解析配置信息。

# flask 源码
class Config:
	...
    def from_envvar(self, variable_name, silent=False):
        rv = os.environ.get(variable_name)
        if not rv:
            if silent:
                return False
            raise RuntimeError("...")
        return self.from_pyfile(rv, silent=silent)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值