【发布时间】:2017-05-03 20:12:09
【问题描述】:
我在 settings.py 文件中有我的项目设置。那里定义了数据库名称、用户名、主机名等。在项目文件中,我执行import settings,然后在需要的地方使用常量,例如settings.HOST。对于单元测试,我想使用不同的设置。我应该如何覆盖设置?我没有使用 django。
【问题讨论】:
我在 settings.py 文件中有我的项目设置。那里定义了数据库名称、用户名、主机名等。在项目文件中,我执行import settings,然后在需要的地方使用常量,例如settings.HOST。对于单元测试,我想使用不同的设置。我应该如何覆盖设置?我没有使用 django。
【问题讨论】:
您可以创建一个新文件 - 比如local_settings.py,您可以在其中覆盖特定设置以进行调试和测试。
然后你在settings.py的末尾添加这个块
# Override these settings with local settings if such a file exists
try:
from local_settings import *
except ImportError as e:
pass
您应该将local_settings.py 添加到您的.gitignore 文件中以将该文件排除在版本控制之外(如果您使用的是git)。
顺便说一句,这是 Django 执行此操作的标准方式。
【讨论】:
我想最简单的方法是将您的 settings.py 移动到另一个文件夹进行保管,然后创建一个新文件夹,然后对其进行编辑以进行调试。
【讨论】: