我有一个 python/django 项目,我使用 git 版本控制为开发和生产设置了该项目。我有三个 settings.py 文件:
-settings.py(其中包含潜在开源项目的虚拟变量),
-settings_production.py(用于生产变量),以及
-settings_local.py(仅为我的本地环境覆盖设置)。git 不跟踪此文件。
我使用这种方法,效果很好:
try:
from settings_production import *
except ImportError, e:
print 'Unable to load settings_production.py:', e
try:
from settings_local import *
except ImportError, e:
print 'Unable to load settings_local.py:', e
但是,我希望这是一个开源项目。我设置了两个 git 遥控器,一个称为“heroku-production”,一个称为“github-opensource”。如何设置它以使“heroku-remote”包含 settings_production.py 而“github-opensource”不包含,以便我可以将这些设置保密?
帮助!我查看了互联网上的大多数资源,但它们似乎没有解决这个用例。这是正确的方法吗?有更好的方法吗?
我的梦想是能够将我的本地环境推送到 heroku-production 或 github-opensource 而不必弄乱设置文件。
注意:我查看了使用环境变量或不跟踪生产设置的设置,但感觉过于复杂。我喜欢在本地设置中看到我面前的一切。看这个方法。
我也浏览了所有这些方法,但它们似乎并不完全符合要求。