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去取

 

 

posted @ 2024-10-29 17:39  凡人半睁眼  阅读(22)  评论(0编辑  收藏  举报