2013-09-10 3 views
3

Я пытаюсь реализовать пароль сброса funcitonality в Джанго и ниже мои кодыошибка NoReverseMatch в функциональности сброса пароля Джанго

urls.py

urlpatterns = patterns('', 
    url(r'^signup/$', 'accounts.views.signup', name="signup_email"), 
    url(r'^user/password/reset/$', 'django.contrib.auth.views.password_reset', {'template_name':'accounts/forgot_password.html',\ 
           'post_reset_redirect' : '/user/password/reset/done/'}, name="reset_password"), 
    url(r'^user/password/reset/done/$', 'django.contrib.auth.views.password_reset_done'), 

forgot_password.html

 <form accept-charset="UTF-8" action="{% url 'reset_password' %}" class="reset_pass" id="reset_pass" method="post"> 
      {% csrf_token %} 
      <div class="control-group"> 
       <label class="control-label" for="user_email" style="font-size: 18px; color: #474747">Email</label> 
       <div class="controls"> 
        <input class="" id="id_email" name="email" type="text" value=""> 

       </div> 
      </div> 
      <div class="control-group"> 
       <div class="controls"> 
        <button type="submit" value="reset_password" class="btn btn-primary">Send me reset password</button> 
       </div> 
      </div> 
     </form> 

поэтому, когда мы идем к адресу user/password/reset/ a forgot_password.html отображает, и когда я вошел в электронную почту и отправит форму, я получаю ошибки ниже

enter image description here

и

ошибку во время шаблона рендеринга

In template /home/user/proj/virtualenvironment/apps/pro_utils/accounts/templates/registration/password_reset_email.html, error at line 7 

enter image description here

Можно ли мне разрешить знаю, почему он жалуется NoReversemtach, хотя я использую встроенные представления?

ответ

2

Вам нужно добавить, что URL + вид в urls.py ниже

url(r'^user/password/reset/confirm/$', 
      'django.contrib.auth.views.password_reset_confirm'), 

Она представляет собой форму для ввода нового пароля.

Вы можете также добавить это также

url(r'^user/password/reset/complete/$', 
      'django.contrib.auth.views.password_reset_complete'), 
1

Вы также можете использовать URLs по умолчанию, определенные в django.contrib.auth.urls путем включения

(r'^accounts/', include('django.contrib.auth.urls')), 

к вашему urls.py.

password_reset_confirm модель требует 2 дополнительных параметров для uidb64 и token:

url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$', 
    'password_reset_confirm', 

Смотрите также ответ здесь: What are the default URLs for Django's User Authentication system?

Смежные вопросы