首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复django_sites表?

如何修复django_sites表?
EN

Stack Overflow用户
提问于 2011-05-22 16:31:31
回答 4查看 18.4K关注 0票数 22

为了让oauth模块正常工作,我提出了以下建议:manage.py reset sites

这影响了我的网站的管理员和登录功能。

所以,我的问题是如何回到原点,修复我弄坏的东西。

这是我在尝试显示管理工具时出现的错误:

代码语言:javascript
复制
DoesNotExist at /admin/
Site matching query does not exist.
Request Method: GET
Request URL:    http://mdev.5buckchuck.com/admin/
Django Version: 1.3
Exception Type: DoesNotExist
Exception Value:    
Site matching query does not exist.`

我看了文档,但我对它感到迷惑和疲惫:http://docs.djangoproject.com/en/1.3/ref/contrib/sites/

它似乎表明:manage.py syncdb

所以,我想知道下一步该怎么做...

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-22 21:09:11

如果您只从项目中运行一个站点,那么您实际上并不需要sites框架,因此最简单的修复方法是从您的INSTALLED_APPS中删除以下项,并且错误应该会消失:

代码语言:javascript
复制
'django.contrib.sites'

您还可以从shell重新创建丢失的Site对象。运行python manage.py shell,然后:

代码语言:javascript
复制
from django.contrib.sites.models import Site
Site.objects.create(pk=1, domain='mdev.5buckchuck.com', name='5buckchuck.com')
票数 58
EN

Stack Overflow用户

发布于 2015-07-14 12:44:18

在settings.py中提供SITE_ID=1。这将会起作用。

票数 8
EN

Stack Overflow用户

发布于 2014-11-24 05:06:47

在玩django-allauth的时候,我也遇到过这个问题。该应用程序提供了删除站点的功能。如果您删除了settings.pySITE_ID参数指定的PK,则必须指向另一个有效站点的正确PK。

如果您删除了默认站点example.com(更改是在添加另一个站点后进行了一些清理),您可能只想通过将SITE_ID设置为2来选择您创建的另一个站点。如果使用SQL数据库,请查找django_site表,并找到要使用的站点ID。

这样,就不需要进入shell并重新创建一个不必要的所需站点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6086852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档