【问题标题】:Toggle between production and development在生产和开发之间切换
【发布时间】:2013-12-14 09:08:28
【问题描述】:

我的一个模块中有一个全局标志,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.pydevelopment.py 的正确设置,具体取决于RUNNING_MODE

是否有任何公认的方法来处理这种设置?我将如何构建目录/模块,以便仅通过更改 config/top.py 中的 RUNNING_MODE 就可以透明地进行整个配置?

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

【问题讨论】:

    标签: python dev-to-production


    【解决方案1】:

    您可以轻松实现这一点。

    以下是文件夹结构:

    > 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
    

    【讨论】:

      猜你喜欢
      • 2018-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多