Ошибка NoReverseMatch: Django-Регистрация
Недавно я понизил свой проект Django с 1.5 до 1.4, чтобы разместить свой проект на сервере OpenShift. В процессе, кажется, я создал проблему для обратного поиска из приложения django-registration.
В частности, когда я размещаю данные в /accounts/register/
(форма, которая регистрирует нового пользователя), я получаю ошибку 500, при этом пользователю не отправляется электронное письмо для подтверждения его учетной записи. Тем не менее, пользователь добавляется как неактивный пользователь в auth_users
таблица, и новый ключ добавляется к registration
стол, что странно.
Я искал во всем Интернете ответ на этот вопрос, но что бы я ни пытался, это не решило проблему. Моя трассировка выглядит так:
Internal Server Error: /accounts/register/
...
File "/var/lib/openshift/526304/python/virtenv/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/base.py", line 837, in render_node
return node.render(context)
File "/var/lib/openshift/526304/python/virtenv/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/defaulttags.py", line 424, in render
raise e
NoReverseMatch: Reverse for '"registration_activate"' with arguments '('0747dcf8831ac8d54ca69348bc499a2cc549a9ea',)' and keyword arguments '{}' not found.
Спасибо за любую помощь
1 ответ
Из заметок о выпуске django-1.5
Результатом этого является то, что если вы не используете {% load url from future%} в своих шаблонах, вам нужно изменить теги вроде {% url myview %} на {% url "myview" %}. Если вы использовали {% load url from future%}, вы можете просто удалить эту строку в Django 1.5
Что означает, во время понижения,
{% url "myview" %}
должно быть
{% url myview %}
что является причиной ошибки.