【问题标题】:Ways of maintaining separate settings for different environments?为不同环境维护单独设置的方法?
【发布时间】:2012-01-05 02:33:10
【问题描述】:

我的 django 项目有两个环境 - 开发和测试。今天我不小心用开发中的设置覆盖了测试中的settings.py。我花了一些时间来更正测试中的设置,如果我有一个好的方法来分别维护两组设置,这是可以避免的。

我想保留两个单独的 settings.py 副本,并在需要时重命名/移动它们。然而,这有点像穴居人的方法。有没有更聪明的方法来处理这个问题?

【问题讨论】:

标签: django django-settings


【解决方案1】:
  1. 在 settings.py 文件的末尾,添加:

    try:
        from settings_dev import *
    except ImportError: pass
    

    其中 settings_dev.py 将包含开发设置。并且在您的生产环境中,不要推送 settings_dev(只需在 .gitingore 或您的源代码版本控制系统中忽略它。)

    因此,当 settings_dev.py 存在时,settings.py 将被 settings_dev.py 文件覆盖。

  2. 另一种设置环境变量的方法:

    if os.environ.get('DEVELOPMENT', None):
        from settings_dev import *
    

    这里提到:Django settings.py for development and production

我更喜欢第一个,它简单而且有效。

【讨论】:

  • 还没决定用哪一个,但我认为两者都不错。谢谢。
【解决方案2】:

【讨论】:

    猜你喜欢
    • 2014-03-18
    • 2021-07-21
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 2018-04-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多