我无法让django-nose跑步。
根据installation instructions,我安装了:
pip install django-nose
'django_nose'
添加到INSTALLED_APPS
(包括在最后一个应用中,以防可能的应用订单问题)TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
添加到settings.py 当我运行测试即manage.py test
时,我得到:
django.db.utils.DatabaseError: no such table: django_content_type
我想我需要同步数据库。我在用南方。当我使用manage.py syncdb
时,django_nose
不会出现在同步应用列表中,也不会出现在“未同步(使用迁移)”应用列表中。
最后,当我尝试与南方同步时,即manage.py schemamigration django_nose --initial
,我得到:
django.core.exceptions.ImproperlyConfigured: App with label django_nose is missing a models.py module.
我将Django 1.4与南方版本0.7.5一起安装在virtualenv中。
我做错了什么?如果没有,我该如何调试此安装问题?
答案 0 :(得分:2)
看起来这是关于应用程序订购的问题,来自django-nose手册的引用:
使用南方
South安装自己的测试命令,在测试期间关闭迁移。确保django-nose在INSTALLED_APPS之后位于南方之后,以便使用django_nose的测试命令。
答案 1 :(得分:1)
如果您仔细阅读github上的文档,问题是当安装南时,您需要将 django_nose 放在南下方,{ {3}}
因此,settings.py文件中的INSTALLED_APPS应如下所示:
INSTALLED_APPS = (
.....other apps...
....
south,
django_nose,
)
答案 2 :(得分:0)
在INSTALLED_APPS中使用kombu.transport.django时,我也遇到了类似的问题。我得到的错误是“NotperlyConfigured:带有标签django的应用程序缺少models.py模块。”。看起来南方的排序确实很重要。我所做的是将南放在INSTALLED_APPS的最底部,
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'djcelery',
'kombu.transport.django',
'sdm',
'cycletel_admin',
'django.contrib.admin',
'lettuce.django',
'south'
)
这有助于解决问题。迁移成功运行。我使用了Django 1.5
答案 3 :(得分:0)
尝试将您要测试的应用程序放入您设置的PROJECT_APPS中;它试图测试django_nose并在它没有models.py文件时为它生成模型。