使用不同的设置值启动Django

时间:2016-07-12 07:33:33

标签: python django

我正在为我的Django应用程序编写测试。我想用不同的设置值启动Django并为每个案例运行测试。 (例如,对settings.ALLOW_ROBOTS = True进行一次测试,对settings.ALLOW_ROBOTS = False进行另一次测试)。我对在运行时覆盖该值不感兴趣。我想每次启动具有不同设置值的服务器。 Django是否提供了实现此目的的方法?

2 个答案:

答案 0 :(得分:1)

您可以选择要与DJANGO_SETTINGS_MODULE一起使用的settings.py文件;你可以从主要的那个导入*,然后改变需要改变的东西。

或者,settings.py只是一个Python文件。如果需要,您可以从环境变量中获取设置值:

import os

ALLOW_ROBOTS = bool(os.getenv('ALLOW_ROBOTS', False))

然后从Travis更改该环境变量。

答案 1 :(得分:0)

如果我正确理解您的问题,您希望能够使用多个设置模块。如果是这样,在启动服务器之前设置DJANGO_SETTINGS_MODULE环境变量可能就是您所需要的。