从多个文件加载Flask配置

时间:2015-11-30 18:10:57

标签: python flask

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

app = Flask(__name__)
app.config.from_object('yourapplication.default_settings')

1 个答案:

答案 0 :(得分:4)

您可以根据需要加载配置,唯一的要求是它最终在app.config。如果您的配置在可导入的Python文件中,from_object只是一个辅助方法,例如示例中的默认设置。还有其他助手,或者您可以将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)

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

myproject/
    myapp/
        __init__.py
        default_settings.py
    instance/
        local_settings.py

通过导入应用程序,随时随地访问配置。

from myapp import app
my_value = app.config['my_key']