【问题标题】:Django CMS malfunction: Site matching query does not existDjango CMS 故障:站点匹配查询不存在
【发布时间】:2011-02-10 02:29:04
【问题描述】:

我已在一个项目中安装了所有应用,然后在站点部分添加了一个站点,并删除了 example.com。现在 Django CMS 2.0 中的页面部分不起作用:它引发了一个 DoesNotExist 异常:Site matching query does not exist.http://127.0.0.1:8000/admin/cms/page/

在我删除 example.com 站点之前,该部分工作正常。

在 settings.py 我有 SITE_ID = 2 行。不过,在这次通话中:

return Site.objects.get(pk=site_pk) 

在回溯中,site_pk=1。

我该如何解决这个问题?

【问题讨论】:

  • 在syncdb 期间收到错误后,我遇到了这个问题。我从来没有想过如果同步数据库被中断,则永远不会创建默认站点。为了解决这个问题,我只是通过django-admin.py shell 手动添加了一个站点对象

标签: python django


【解决方案1】:

来自http://docs.djangoproject.com/en/dev/ref/contrib/sites/#ref-contrib-sites

SITE_ID 设置指定与该特定设置文件关联的站点对象的数据库 ID。

因此,请检查 django_site 表并确保您为您的站点使用了正确的 SITE_ID。

【讨论】:

  • 没错,我用的是Site 2,SITE_ID应该是2。
  • 感谢您的回答,它现在正在工作,不再显示异常,但是还有另一个问题。
  • 只要你在前进:-)
【解决方案2】:

添加sites框架后,首先需要python manage.py migrate,然后只需在settings.py中添加SITE_ID=1即可。

【讨论】:

    猜你喜欢
    • 2013-04-10
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    • 2016-11-17
    • 1970-01-01
    • 2015-12-29
    • 2012-08-02
    相关资源
    最近更新 更多