从多个文件加载 Flask 配置

qin*_*126 3 python flask

我需要从多个文件加载配置。我使用下面的代码加载一个文件。我应该重复使用它吗?如何加载多个配置?

app = Flask(__name__)
app.config.from_object('yourapplication.default_settings')
Run Code Online (Sandbox Code Playgroud)

dav*_*ism 5

您可以根据需要加载配置,唯一的要求是它最终以app.config. from_object如果您的配置位于可导入的 Python 文件中(例如示例中的默认设置),这只是一个辅助方法。还有其他帮助器,或者您可以将其视为app.config字典并根据需要设置值。

覆盖默认设置的标准方法是加载它们,然后从实例文件夹加载本地设置。

app = Flask(__name__, instance_relative_config=True)
app.config.from_object('myapp.default_settings')
app.config.from_pyfile('local_settings.py', silent=True)
Run Code Online (Sandbox Code Playgroud)

这会将local_settings.py实例文件夹加载到配置中,如果文件不存在则忽略。

myproject/
    myapp/
        __init__.py
        default_settings.py
    instance/
        local_settings.py
Run Code Online (Sandbox Code Playgroud)

通过导入应用程序,在任何需要的地方访问配置。

from myapp import app
my_value = app.config['my_key']
Run Code Online (Sandbox Code Playgroud)