在我的一些 Django 应用程序中,我使用settings_local.py
文件来覆盖各种环境(例如开发、测试和生产)中不同的设置。我最初使用以下代码将其内容包含在settings.py
:
try:
from settings_local import *
except ImportError:
sys.stderr.write("The settings_local.py file is missing.\n")
DEBUG=False
我最近发现了这个execfile
功能并切换到类似的东西:
try:
execfile(path.join(PROJECT_ROOT, "settings_local.py"))
except IOError:
sys.stderr.write("The settings_local.py file is missing.\n"
DEBUG=False
两者都按预期工作,但我很好奇我是否遗漏了任何问题,一般来说哪种方法更推荐以及为什么。