在生产和开发之间切换

时间:2013-11-28 10:59:03

标签: python dev-to-production

我的一个模块中有一个全局标记,config/top.py

RUNNING_MODE = "production"  # could also be "development", set manually

根据此标志,我想包含一些生产/开发设置。例如,在我想要的production.py中:

LOG_LEVEL = "WARNING"

development.py

LOG_LEVEL = "INFO"

(还有更多设置要设置)

目标是能够在我的任何模块中透明地使用这些设置,比方说test.py

from config.settings import LOG_LEVEL

这将使用正确的设置,来自production.py或来自development.py,具体取决于RUNNING_MODE

是否有任何可接受的方法来处理这种设置?我如何构建目录/模块,只需更改RUNNING_MODE config/top.py整个配置透明地发生?

注意:我不想在构建过程中使用它,而是将其嵌入模块结构中。也就是说,我不希望构建过程修改我的任何模块。

1 个答案:

答案 0 :(得分:2)

您可以轻松实现这一目标。

以下是文件夹结构:

> config/
    settings.py
    production.py
    development.py

现在在settings.py中:

RUNNING_MODE = "production"  # could also be "development", set manually

if ENVIRONMENT == "production":
    from production import *
elif ENVIRONMENT == "development":
    from development import *

将所有与环境相关的设置保存在单个文件中。

然后,在views.py或项目中的任何其他文件中。

from config.settings import LOG_LEVEL