我为 Django 创建了一个可重用的应用程序,它要求您在 settings.py 文件中添加设置。即
version = '1'
url = 'api.domain.com'
但是,这些设置很少改变,我更希望它们成为我的包中的默认设置,但允许开发人员在自己的 settings.py 中覆盖它们。
我的包就像一个应用程序,因此它没有settings.py,那么我如何将这些设置添加为我的包中的默认设置,同时仍然允许它们在项目的开发人员settings.py中被覆盖?
我希望这是有道理的。
最佳答案
django 人们做的一个常见的事情是在本地副本中包含一个 local_settings.py
,用于只需要本地副本的内容。然后,在 settings.py 文件的末尾处,输入:
try:
from local_settings import *
except ImportError:
pass
请务必将 local_settings.py
添加到您的 .gitignore
(或 VCS 的同等内容)中,这样人们就不会因意外提交本地内容而互相踩脚.
关于python - 覆盖设置和包默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18879445/