Django项目/admin站点查询不存在
我在Heroku上运行一个网站。我的问题出现在我访问网站的管理页面时,地址是www.mysite.com/admin。当我打开这个页面时,我看到
DoesNotExist at /admin/
Site matching query does not exist.
问题是,我的项目在本地和我的测试服务器上都能正常工作。偏偏当我在网上访问时,就出现了这个错误。
我在StackOverflow上查了一下,尝试运行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改成了www.mysite.com,结果把我的测试服务器搞坏了,所以我又把它改回去了,尝试不改SITE_ID。
那可能是什么问题呢?
3 个回答
-1
我刚刚需要删除 'django.contrib.sessions'
这个内容,从 settings.py
文件里的 INSTALLED_APPS
中,因为它导致了一些问题,而我这个项目只用来做一个网站。
不过,如果你是为了多个不同的网站在使用这个项目,并且需要用到 Django 的站点框架,请检查一下你数据库里的 SITE_ID
,看看它是否和设置里定义的那个一致。
0
这个问题总是会不断出现,所以如果你不想让你的模型在多个网站上使用,我建议你把设置文件中的 SITE_ID 删除。请注意,这对我有效!
8
看起来你设置文件里的 SITE_ID 指向了一个在你数据库中不存在的 ID。
你要么需要在网站模型里创建一个新的网站(通过管理后台),然后把设置文件里的 ID 改成那个新网站的 ID;要么通过 SQL 重新插入这个项目,并给它一个和你设置文件里一样的 ID。