这是我公司设计的方法,只是想知道是否有人有更好的方法:
在 Settings.py(底部)
#...
try:
if socket.gethostname() == 'testsite':
from myir.local.TEST_settings import *
elif socket.gethostname() == 'prod':
from myir.local.PROD_settings import *
else:
from myir.local.DEV_settings import *
try:
# dev settings - don't commit local_settings.py
from proj.local.local_settings import *
except:
print "no local dev settings found..."
pass # intentionally do nothing.
except ImportError:
pass
local_settings.py:
DEBUG = True
LOGGING = { .. } # i usually keep maximum aount of logging possible in my dev environment.
... other configs you might want to override.
请您参考如下方法:
Django 提供环境变量DJANGO_SETTINGS_MODULE指定要使用的设置模块。您可以在那里指定 settings.my_prod_module ,这使得设置在生产中有所不同。您可以在本地指定不同的值。
您还可以在 WSGI 文件中指定值:
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings.my_prod_module'
