簡體   English   中英

NoReverseMatch:反向為``django.contrib.auth.views.password_reset_confirm''

[英]NoReverseMatch: Reverse for ''django.contrib.auth.views.password_reset_confirm''

我正在使用Django 1.5.12,但收到此錯誤,卻不知道如何解決。 其他“ NoReverseMatch”帖子對我沒有幫助

NoReverseMatch:使用參數'()'和關鍵字參數'{u'uidb36':u'mg',u'token':u'4mb-cc37d48'}'不是'django.contrib.auth.views.password_reset_confirm'的反向找到。

url.py

urlpatterns = patterns('',
(r'^my-account/password-reset/$', 
  'django.contrib.auth.views.password_reset', {
    'post_reset_redirect': '/my-account/password-reset/done/',
    'template_name': 'password_reset/password_reset_form.html',
    'email_template_name': 'password_reset/password_reset_email.html'
  }),
(r'^my-account/password-reset/done/$', 
  'django.contrib.auth.views.password_reset_done', {
    'template_name': 'password_reset/password_reset_done.html'
  }),
(r'^my-account/password-reset/((?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+))/$', 
  'django.contrib.auth.views.password_reset_confirm', {
    'post_reset_redirect': '/my-account/password-reset/complete/',
    'template_name': 'password_reset/password_reset_confirm.html'
  })

password_reset_email.html

{% autoescape off %}
You're receiving this e-mail because you requested a password reset for your 
user account.

Please go to the following page and choose a new password:
{% block reset_link %}
{{ protocol }}://{{ domain }}{% url 
'django.contrib.auth.views.password_reset_confirm' uidb36=uid token=token %}
{% endblock %}

關於如何解決這個問題有什么想法嗎?

嘗試刪除(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)周圍的外括號:

(r'^my-account/password-reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$', 
 'django.contrib.auth.views.password_reset_confirm', {
     'post_reset_redirect': '/my-account/password-reset/complete/',
     'template_name': 'password_reset/password_reset_confirm.html'
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM