为测试、阶段、生产环境设置烧瓶应用程序

时间:2021-07-19 16:20:27

标签: python flask dockerfile

所以我有一个要求,我有一个包含多个 python 文件的 Flask 应用程序。每个文件都有一些变量,如 API_URL、DEVICE_CONTEXT 等,这些变量在所有 python 文件中都是通用的。这些变量将由环境类型决定,即测试、阶段或生产。因此,基于环境模式,我需要为我的 Flask 应用程序填充每个 python 文件中的变量。请有人告诉我执行此操作的标准方法是什么。

1 个答案:

答案 0 :(得分:2)

Flask 配置环境或多或少的原生方式是通过以下方式使用 app.config 变量:

    app = Flask(__name__)
    app.config.from_envvar('SOME_SYSTEM_ENVIROMENT_VARIABLE')
    api_url = app.config['API_URL'] #access to any parameter

其中 SOME_SYSTEM_ENVIROMENT_VARIABLE 指向具有代表您的环境(测试、生产等)的配置的文件。该文件的编写方式如下:

API_URL = 'http://localhost:9999'

对于每个环境,您必须在运行 Flask 之前定义单独的配置文件和设置环境变量。 还有其他几种配置环境的方法,您可以阅读this