5

我正在尝试按照此处的 Django 教程(适用于 v1.1) 。我遇到的问题是它无法识别我的示例测试应用程序。例如,我在 /home/user1234/rst 工作。我可以从那里成功运行服务器并创建一个应用程序。但是,如果我创建应用程序“xyz”,然后将“rst.xyz”附加到 settings.py 中的 installed_apps 列表,它似乎不起作用。我收到以下错误消息:

Error: App with label xyz could not be found. Are you sure your INSTALLED_APPS setting is correct?

我确实看到有Near duplicate question,但这些建议似乎没有帮助。

我的 settings.py 文件包括:

INSTALLED_APPS = ( 
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'rst.xyz',

)

我已经确认 mysql 正在运行并且我可以连接到数据库。我也在同一台机器上运行 postresql 和 apache(我不确定这是否会导致错误)。

此外,这可能会有所帮助:

 python -c "import sys; print sys.path"
 ['', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/dist-packages', '/usr/lib/pymodules/python2.6', '/usr/lib/pymodules/python2.6/gtk-2.0', '/usr/lib/python2.6/dist-packages/wx-2.8-gtk2-unicode', '/usr/local/lib/python2.6/dist-packages']

如果有人有任何建议,我很想听听他们的意见!

4

5 回答 5

9

好的,我有一个非常相似的问题,这可能看起来很愚蠢,但我花了几个小时试图解决它,然后才意识到我做错了什么。

我所做的是将应用程序放到错误的位置,而不是:

 INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'polls',                                

)

我做了:

 MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'polls',

)

虽然当您阅读它时这似乎很明显,但我在网上发现的网站数量惊人,人们报告了相同的错误。我希望这可以节省我必须经历的所有麻烦。

于 2014-03-16T03:22:11.637 回答
5

您添加到已安装应用程序的应用程序名称很可能只是xyz. 不是project_dir.app_name

并重申 jvc26 的要求。Django 1.1 相当简陋,你为什么从它开始而不是 1.4?

于 2012-04-04T21:29:50.540 回答
2

在项目开始时,2 个目录由相同的名称创建(在我的情况下为 mysite),两个文件夹都有一个 setting.py 文件,因此您需要更改两个文件中的已安装应用程序设置。

于 2014-08-01T09:54:15.687 回答
1

按照教程,我遇到了同样的错误。我的错误是在我的应用程序的 models.py 中,我将第一行从

from django.db import models

到(在你的情况下)

from rst.db import models

我的错误(除了第一次尝试使用 python)是假设“django.db”只是我项目的 sqlite3 数据库名称的占位符。要点是,将这行代码单独留在 models.py 中。

于 2012-06-06T15:13:14.880 回答
1

另一个可能有助于考虑的因素是,此错误消息也与设置文件中的数据库配置有关,因此请检查命名、引擎等是否与您的设置匹配。

于 2014-01-05T02:01:37.220 回答