再次尝试实现django-registration。当我尝试将其部署到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。
应该在哪里寻找错误?问题在哪里?
答案 0 :(得分:3)
如果您的django.contrib.sites
中有INSTALLED_APPS
而且您没有多个网站,那么您已将其删除并进行了一轮makemigration
和migrate
。
如果您有多个网站,请参考:Django - Site matching query does not exist
答案 1 :(得分:0)
从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()