Django CMS故障:找不到匹配的站点查询

18 投票
2 回答
14213 浏览
提问于 2025-04-15 21:49

我在一个项目里安装了所有的应用程序,然后在网站部分添加了一个新网站,接着删除了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。

我该怎么解决这个问题呢?

2 个回答

0

在添加了 sites 框架之后,首先你需要运行 python manage.py migrate 这个命令。然后,只需要在 settings.py 文件中添加 SITE_ID=1 这一行就可以了。

17

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

SITE_ID 这个设置是用来指定和当前设置文件相关联的网站对象在数据库中的ID。

所以,你需要查看 django_site 表,确保你使用的是正确的网站 SITE_ID。

撰写回答