覆盖设置和包默认值

时间:2013-09-18 18:16:30

标签: python django

我为Django创建了一个可重用的应用程序,它要求您在settings.py文件中添加设置。即。

version = '1'
url = 'api.domain.com'

但是,这些设置很少会改变,我更喜欢它们是我的包中的默认设置,但允许开发人员在他们自己的settings.py中覆盖它们。

我的软件包就像一个应用程序,所以它没有settings.py所以如何在我的软件包中添加这些设置作为默认值,同时仍允许它们在项目的开发人员settings.py中被覆盖?

我希望这是有道理的。

1 个答案:

答案 0 :(得分:1)

django人们常做的一件事就是在本地副本中加入local_settings.py,以获取本地副本上只需要的东西。然后,在settings.py文件的 end 处,输入:

try:
    from local_settings import *
except ImportError:
    pass

请务必将local_settings.py添加到.gitignore(或等同于您的VCS),以免人们因意外提交本地内容而踩到他们的脚。