heroku DoesNotExist at /accounts/register/ Site匹配查询不存在,(django,python)

lymgl2op  于 12个月前  发布在  Go
关注(0)|答案(3)|浏览(89)

再次尝试实现Django注册。当我尝试将它部署到heroku并注册一个新用户时,它给了我一个奇怪的错误:

Traceback:

#some irrelevant traceback

File "/app/.heroku/python/lib/python2.7/site-packages/registration/views.py" in post
  43.             return self.form_valid(request, form)

File "/app/.heroku/python/lib/python2.7/site-packages/registration/views.py" in form_valid
  91.         new_user = self.register(request, form)

File "/app/.heroku/python/lib/python2.7/site-packages/registration/backends/default/views.py" in register
  86.         site = get_current_site(request)

File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/sites/shortcuts.py" in get_current_site
  15.         return Site.objects.get_current(request)

File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/sites/models.py" in get_current
  67.             return self._get_site_by_request(request)

File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/sites/models.py" in _get_site_by_request
  44.                 SITE_CACHE[host] = self.get(domain__iexact=host)

File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/manager.py" in manager_method
  122.                 return getattr(self.get_queryset(), name)(*args, **kwargs)

File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/query.py" in get
  387.                 self.model._meta.object_name
Exception Type: DoesNotExist at /accounts/register/
Exception Value: Site matching query does not exist.

我完全遵循官方documentation
应该在哪里查找错误?问题出在哪里?

uqcuzwp8

uqcuzwp81#

如果您的INSTALLED_APPS中有django.contrib.sites,并且您没有多个站点,那么您必须删除它并执行一轮makemigrationmigrate
如果您有多个站点,请参考:Django - Site matching query does not exist

jum4pzuy

jum4pzuy2#

this添加。这应该工作
进入Django shell

$> ./manage.py shell
>>> from django.contrib.sites.models import Site
>>> site = Site()
>>> site.domain = 'example.com'
>>> site.name = 'example.com'
>>> site.save()
yk9xbfzb

yk9xbfzb3#

在django INSTALLED_APPS中添加django.contrib.sites,并在django设置文件中添加SITE_ID=1

相关问题