Django admin DoesNotExist at/admin/
我和Django管理员有一些问题 syncdb之后,结果是:Django admin DoesNotExist at/admin/,django,Django,我和Django管理员有一些问题 syncdb之后,结果是: Creating tables ... Installing custom SQL ... Installing indexes ... No fixtures found. 这是什么意思 无论如何,当我访问网站管理面板时,我收到以下消息: DoesNotExist at /admin/ Site matching query does not exist. setting.py包含: INSTALLED_APPS
Creating tables ...
Installing custom SQL ...
Installing indexes ...
No fixtures found.
这是什么意思
无论如何,当我访问网站管理面板时,我收到以下消息:
DoesNotExist at /admin/
Site matching query does not exist.
setting.py包含:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
)
ur.py包含:
from django.conf.urls.defaults import patterns, include, url
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'rshd.views.home', name='home'),
# url(r'^rshd/', include('rshd.foo.urls')),
# Uncomment the admin/doc line below to enable admin documentation:
url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
)
如果您仅从项目中运行一个站点,则实际上不需要
站点
框架,因此最简单的修复方法是从您安装的应用程序中删除以下项,错误应该会消失:
'django.contrib.sites'
您还可以从shell中重新创建缺少的站点对象。运行python manage.py shell,然后:
from django.contrib.sites.models import Site
Site.objects.create(pk=1, domain='www.example.com', name='example.com')
通过另一种方式解决了这个问题:
我使用PostgreSQL和Django 1.45。。。
当我删除www.example.com网站并添加一个新的www.xxx.com网站时,它被添加为ID=2
'因为PostgreSQL不会返回ID号,并且登录和注销Django站点以某种方式仅绑定到数据库中ID=1的站点
我转到我的PostgreSQL数据库,将www.xxx.com的ID更改为1,然后我可以再次看到登录和注销站点:)
顺便说一句[是的,如果您不需要django.contrib.sites,您可以从settings.py中删除它^^^(但是我没有在我的案例中尝试过这个,因为ID号问题)]
希望它能为更多的用户服务!;) 我也突然想到了同样的问题,你知道有很多解决办法。然而,这一突发问题的原因是什么
深入研究之后,我发现原因是,我们忽略了第一个syncdb操作中的一个步骤
当您拥有第一个syncdb时,django将要求您创建一个默认帐户,如果您不在这个交互式节目中输入,该站点对象将不会自动创建
所以要小心。我正在使用django 1.3.1,不知道最新版本是否解决了此问题。检查窗口任务管理器,确保有一个进程名“python.exe”正在运行。如果有多个,请删除所有这些,然后重新启动服务器。这个解决方案对我有效 如果您正在使用django.contrib.sites
而不通过更改settings.py
文件中的SITE_ID=1
值将其删除,则可以修复此错误
当我在服务器上更改域名时,我从http://mynewdomainname.com/admin/sites/site/
手动,数据库中的旧域名记录有id=1
,我还添加了新域名mynewdomainname.com
,它的id是id=2
,
我刚刚更改为SITE_ID=2
,错误消失了SITE_ID指的是您默认使用的活动域名的当前“pk”。
代码:
这发生在settings.py
更改后
SITE_ID = 2
请注意django sites应用程序中的当前域id。因为上面的注释非常旧,而且syncdb
命令不存在,我不想删除django.contrib.sites
,以下是对我有效的方法:
增量站点ID
。我把SITE\u ID=1
,改成SITE\u ID=2
,一切都恢复正常了。是的,把SITE\u it=1改成SITE\u ID=2,一切都很好在你的设置中添加SITE\u ID=1
。是的,顶部提到的解决方案可以是解决方案的一部分
但是,我注意到,不仅包括没有配置的django.contrib.sites
,还包括
allauth
(pip安装django allauth)如果所述软件包配置不正确,可能会导致此问题
(据我所知,allauth
在默认情况下没有正确配置…如果出现错误或只是想更改站点,您可以做的另一件事很简单
下载
打开sqlite.db
搜索django_网站
将域名和显示名更改为您想要的任何名称
只需在urls.py
文件中使用来自django.conf.urls.defaults导入*
和来自django.conf导入设置的,然后选中感谢Harshith J.V。但不做任何更改您可以看到syncdb的结果不包含为管理员创建表!!!嘿,我也有同样的问题。然而对我来说,管理员以前工作过。当我再次查看管理页面时,它突然停止工作,直到我重新创建丢失的站点对象。你知道问题是什么吗?为什么我突然要重新创建丢失的对象?如果您使用的是'django.contrib.sites'
,请确保已在适当的地方在您的settings.py中定义了SITE\u ID=1
。如果是这种情况,请至少在settings.py文件中更改SITE\u ID,而不是手动编辑数据库。
SITE_ID = 2