django设置如何与Web应用程序绑定

时间:2015-08-20 23:42:25

标签: python django

假设我的网络应用程序使用以下设置运行

LOG_DIR = "/var/log/main"

此变量定义日志的位置。

现在我运行我的测试,我有像

这样的test_settings
from settings import *
LOG_DIR = "/var/log/test"

现在我想知道这意味着当我的测试脚本运行时,我的主应用程序日志也将转到测试文件夹,因为我已经打开了全局变量。

对于我的集成测试我需要更改变量,如果这会影响主应用程序。就像我的应用程序取决于

Shell ENV变量。我想为我的测试选择一下。但是我担心如果那会影响主要的运行应用程序。

这不适用于PROD,但适用于其他测试应用环境

1 个答案:

答案 0 :(得分:1)

运行django进程不会影响其他进程的设置。只需确保在运行测试/ dev服务器/等时将--settings标志显式传递给manage.py脚本。

e.g。

python manage.py test --settings project/settings/test.py
python manage.py runserver --settings project/settings

我更喜欢在运行测试环境时获得一组源脚本(您可以使用测试运行器进行配置,请参阅docs)。