2013-09-17 2 views
1

Я пытаюсь восстановить пароль для работы. Я использовал this tutorialdjango auth password reset - NoReverseMatch

Джанго Version 1.5.1

Когда я ввожу адрес электронной почты, и нажмите кнопку «Сброс пароля» Я получаю сообщение об ошибке:

Exception Type: NoReverseMatch 
Exception Value: Reverse for 'django.contrib.auth.views.password_reset_confirm' with arguments '()' and keyword arguments '{u'uidb36': u'q', u'token': u'3ky-999ef6e52ef0743cdb2a'}' not found. 

Причина, кажется:

{{ protocol }}://{{ domain }}{% url 'django.contrib.auth.views.password_reset_confirm' uidb36=uid token=token %} 

мой urls.py:

url(r'^user/password/reset/$', 'django.contrib.auth.views.password_reset', {'post_reset_redirect' : 'user/password/reset/done/','template_name': 'main/registration/password_reset_form.html'}, name="password_reset"), 
url(r'^user/password/reset/done/$', 'django.contrib.auth.views.password_reset_done', {'template_name': 'main/registration/password_reset_done.html'}), 
url(r'^user/password/reset/(?P<uidb36>[0-9A-Za-z]+)/(?P<token>.+)/$', 'django.contrib.auth.views.password_reset_confirm', {'template_name': 'main/registration/password_reset_confirm.html', 'post_reset_redirect' : 'user/password/done/'}), 
url(r'^user/password/done/$', 'django.contrib.auth.views.password_reset_complete',{'template_name': 'main/registration/password_reset_complete.html'}) 

Я пытаюсь в течение нескольких часов, может быть, кто-то может дать мне подсказку. Спасибо заранее.

ответ

1

Namespaces используются для различения одинаковых URL-адресов между различными приложениями. Таким образом, всегда полезно использовать namespace. Например, если пространство имен указано в адресах проектов как:

url(r'^courses/', include('courses.urls', namespace="courses")), 

Вы делаете:

<a href="{% url 'courses:lecturedetail' i.id %}">{{ i.title }}</a> 

courses Здесь это пространство имен.

0

Ok эти строки url, где часть url.conf с именами, включенная в корневой url-conf ... ну, удалив опцию namespace, она решила ее на данный момент.

0

Вы должны включить следующую строку в ваш urls.py: url(r'^accounts/', include('django.contrib.auth.urls')),, так как django-regisration вызывается некоторыми функциями от django.contrib.auth.

Я создал полную демоверсию для регистрации django, см. https://github.com/xiaohanyu/django-registration-demo.