Ошибка 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 %} 

что является причиной ошибки.

Другие вопросы по тегам