Django项目/管理员站点匹配查询不存在

时间:2014-05-06 23:04:46

标签: python django heroku

我正在heroku上运行一个网站。当我访问位于www.mysite.com/admin的我的网站管理员时,会发生我的问题。当我访问此页面时,我得到了

DoesNotExist at /admin/
Site matching query does not exist.

事情是,我的项目/管理员在本地以及我的登台服务器上工作。当我实时访问它时,就会发生这种错误。

在浏览SOF之后,我尝试使用以下命令运行python manage.py shell:

from django.contrib.sites.models import Site
Site.objects.create(pk=1, domain='www.xxx.com', name='xxx.com')

并且我将SITE_ID = 1更改为SITE_ID = www.mysite.com并且刚刚破坏了我的登台服务器,因此我将其更改回来并再次尝试而不更改SITE_ID。

可能是什么问题?

3 个答案:

答案 0 :(得分:3)

设置文件中的SITE_ID设置似乎指向数据库中不存在的ID。

您需要在站点模型中创建一个新站点(通过管理员)并更改设置文件中的ID以匹配该站点,或者通过SQL重新插入项目并为其提供与设置文件相同的ID

答案 1 :(得分:0)

我只需要从'django.contrib.sessions'中的INSTALLED_APPS删除 settings.py,因为这会引起问题,并且我仅将这个项目用于 网站。

但是,如果您将项目用于多个不同的站点,并且需要Django 站点框架,请检查数据库中的SITE_ID并确定其是否匹配设置中定义的一个。

答案 2 :(得分:0)

这个问题似乎总是会持续发生,因此,如果您不想为多个站点提供模型,那么建议您从设置文件中删除SITE_ID。注意,这对我有用!