1

当我运行时manage.py test一切正常,但如果使用 PyCharm Django Tests 运行测试,它会给我以下错误:

Error
Traceback (most recent call last):
  File "/usr/lib/python3.4/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/usr/lib/python3.4/unittest/case.py", line 577, in run
    testMethod()
  File "/usr/lib/python3.4/unittest/loader.py", line 32, in testFailure
    raise exception
ImportError: Failed to import test module: order_form.tests
Traceback (most recent call last):
  File "/usr/lib/python3.4/unittest/loader.py", line 312, in _find_tests
    module = self._get_module_from_name(name)
  File "/usr/lib/python3.4/unittest/loader.py", line 290, in _get_module_from_name
    __import__(name)
  File "/home/vagrant/project/order_form/tests.py", line 2, in <module>
    from .models import Order
  File "/home/vagrant/project/order_form/models.py", line 3, in <module>
    from cms.models.pluginmodel import CMSPlugin
  File "/home/vagrant/.virtualenvs/env/lib/python3.4/site-packages/cms/models/__init__.py", line 3, in <module>
    from .pagemodel import *  # nopyflakes
  File "/home/vagrant/.virtualenvs/env/lib/python3.4/site-packages/cms/models/pagemodel.py", line 6, in <module>
    from django.contrib.sites.models import Site
  File "/home/vagrant/.virtualenvs/env/lib/python3.4/site-packages/django/contrib/sites/models.py", line 83, in <module>
    class Site(models.Model):
  File "/home/vagrant/.virtualenvs/env/lib/python3.4/site-packages/django/db/models/base.py", line 102, in __new__
    "INSTALLED_APPS." % (module, name)
RuntimeError: Model class django.contrib.sites.models.Site doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

是的,我已 'django.contrib.sites' 在 INSTALLED_APPS 中启用并设置了 SITE_ID。

Pycharm Django 测试配置

有任何想法吗?

4

1 回答 1

1

我创建了本地 virtualenv 并安装了相同的要求——测试可以正常工作。

谢谢大家的意见。

于 2016-03-28T16:45:26.070 回答