Django 不存在/管理员/
大家好,这是我第一次接触Django,我正在做Django的教程,链接在这里:https://docs.djangoproject.com/en/1.3/intro/tutorial02/。当我取消注释他们让我取消的那几行时,出现了一个错误。
from django.contrib import admin
admin.autodiscover()
还有
(r'^admin/', include(admin.site.urls)),
在我的根文件夹里的urls.py文件中。
另外,我发现有些代码行不一样(我想是因为我使用的是更新版本的Django),比如说:
这里有一些额外的截图
(r'^admin/', include(admin.site.urls)), //(site)
给
url(r'^admin/', include(admin.site.urls)), //(myProject)
有没有Django高手能帮我解决这个错误?因为我听说这个框架很棒,评价也很好。
这里有一些截图
3 个回答
你需要在settings.py文件里指定一个SITE_ID,这样你指定的网站就可以管理其他网站的内容。你可以查看这个页面:https://docs.djangoproject.com/en/1.8/ref/settings/#std:setting-SITE_ID,上面有相关信息:
SITE_ID:这是一个整数,代表当前网站在django_site数据库表中的ID。这个设置的作用是让应用程序的数据能够与特定的网站连接起来,从而让一个数据库可以管理多个网站的内容。
这很可能是一个 django.contrib.sites
应用的问题。如果你只在运行一个网站,可以在你的 INSTALLED_APPS
中把这个应用注释掉。
如果你想创建缺失的对象,可以通过 python manage.py shell
来实现:
from django.contrib.sites.models import Site
Site.objects.create(pk=1, domain='<your domain>', name='<your name>')
没有完整的错误信息,我不能百分之百确定“DoesNotExist”指的是什么,但听起来像是管理应用的模型还没有创建。你有没有在settings.py文件中的INSTALLED_APPS
里添加“django.contrib.admin”,然后运行python manage.py syncdb
,并重启(开发)服务器呢?
更新:
使用Subversion源代码(1.4 预发布版)可能不是个好主意。我敢保证,他们对正确的管理网站设置所做的任何更改在文档中都没有更新。你可以看看1.3版本——它非常好,相信我。