6

我无法让 django-nose 运行。

根据安装说明,我通过以下方式安装:

  1. 跑步pip install django-nose
  2. 添加'django_nose'INSTALLED_APPSsettings.py (包括作为最后一个应用程序,以防可能的应用程序顺序问题)
  3. 添加TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'到 settings.py

当我运行测试 iemanage.py test时,我得到:

django.db.utils.DatabaseError: no such table: django_content_type

我想我需要同步数据库。我正在使用南方。当我使用manage.py syncdb时,django_nose不会出现在同步应用程序列表或“未同步(使用迁移)”应用程序列表中。

最后,当我尝试与 south 同步时,即manage.py schemamigration django_nose --initial,我得到:

django.core.exceptions.ImproperlyConfigured: App with label django_nose is missing a models.py module.

我在 virtualenv 中安装了带有 South 版本 0.7.5 的 Django 1.4。

我究竟做错了什么?如果没有,我该如何调试这个安装问题?

4

4 回答 4

2

看起来这是关于应用程序订购的问题,来自 django-nose 手册的引用:

与南一起使用

South 安装了自己的测试命令,在测试期间关闭迁移。确保在 INSTALLED_APPS 中 django-nose 出现在 south 之后,以便使用 django_nose 的测试命令。

于 2012-08-31T12:55:16.693 回答
1

如果您仔细阅读 github 上的文档,问题是安装south时需要将django_nose放在south下方,阅读更多

因此,settings.py 文件中的 INSTALLED_APPS 应如下所示:

INSTALLED_APPS = (
.....other apps...
....

south,
django_nose,
) 
于 2012-09-19T00:50:05.020 回答
0

在 INSTALLED_APPS 中使用 kombu.transport.django 时,我也遇到了类似的问题。我得到的错误是“配置不当:带有标签 django 的应用缺少 models.py 模块。”。看起来 South 的顺序确实很重要。我所做的是将放在 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

于 2013-03-18T17:09:47.410 回答
0

尝试将您要测试的应用程序放入您的设置中的 PROJECT_APPS;当它没有 models.py 文件时,它会尝试测试 django_nose 并为其生成模型。

于 2013-12-23T01:21:54.827 回答