我一直在使用Django超过一年,并且从未需要'定义环境变量DJANGO_SETTINGS_MODULE,因为我被要求在以下错误消息中执行:
E
======================================================================
ERROR: setUpClass (__main__.SmokeTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\django\test\testcases.py", line 1026, in setUpClass
if not connections_support_transactions():
File "C:\Python27\lib\site-packages\django\test\testcases.py", line 991, in connections_support_transactions
for conn in connections.all())
File "C:\Python27\lib\site-packages\django\db\utils.py", line 227, in all
return [self[alias] for alias in self]
File "C:\Python27\lib\site-packages\django\db\utils.py", line 224, in __iter__
return iter(self.databases)
File "C:\Python27\lib\site-packages\django\utils\functional.py", line 33, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "C:\Python27\lib\site-packages\django\db\utils.py", line 157, in databases
self._databases = settings.DATABASES
File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 55, in __getattr__
self._setup(name)
File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 41, in _setup
% (desc, ENVIRONMENT_VARIABLE))
ImproperlyConfigured: Requested setting DATABASES, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
我正在使用Windows命令行。
我试过了
from django.conf import settings
settings.configure()
解释here,但这没有用。
有谁知道如何让它发挥作用?
答案 0 :(得分:1)
“命令行中的@brunodesthuilliers我在我的app目录中,运行python tests.py”
那不会起作用(至少不那么容易)。为什么不使用内置管理“测试”命令?
#> cd your/project/root
#> python manage.py test
答案 1 :(得分:0)
您确定在 manage.py 中有类似的内容
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "projectname.settings")