如果设置为True,则settings.DEBUG仍为false

时间:2016-05-30 16:53:08

标签: python mysql django django-1.7

我正在使用Django == 1.7.11,mysql,python 2.7。

在我的设置文件中,我将调试设置为True,我通过输入django shell确认了这一点,并且始终得到True

>>> from django.conf import settings
>>> settings.DEBUG
True

但在我的tests.py文件中:

import unittest

from django.conf import settings
import settings as settingsfile
from django.test import LiveServerTestCase

class SeleniumTest(LiveServerTestCase):

    def test_nothing(self):
        print 'File DEBUG is: %s' % (settingsfile.DEBUG, )
        print 'Django DEBUG is: %s' % (settings.DEBUG, )

if __name__ == '__main__':
    unittest.main()

>>>> File DEBUG is: True
>>>> Django DEBUG is: False

在其他任何地方,DEBUG的价值可能已经改变,或者在我不知道的测试文件中导入设置的一些误用?

==更新==

link提及LiveServerTestCase强制DEBUG=False以便模仿生产服务器,但我将文件更改为使用Django的正常TestCase并最终获得相同的结果

import unittest

from django.conf import settings
from django.test import TestCase
import settings as settingsfile

class SeleniumTest(TestCase):

    def test_nothing(self):
        print 'File DEBUG is: %s' % (settingsfile.DEBUG, )
        print 'Django DEBUG is: %s' % (settings.DEBUG, )

if __name__ == '__main__':
    unittest.main()

>>>> File DEBUG is: True
>>>> Django DEBUG is: False

1 个答案:

答案 0 :(得分:1)