在Django 1.6中重置密码

时间:2014-08-14 16:35:38

标签: python django

当我尝试使用django密码重置来重置密码时,我得到了一个错误:

*The current URL, /reset/Nw/3u5-5654a2cadfa432b86577/, didn't match any of these.*

在url.py我有

 urlpatterns+=patterns('',
 url(r'^resetpassword/$', 'django.contrib.auth.views.password_reset',name='password_reset_done'),
 (r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>.+)/$', 'django.contrib.auth.views.password_reset_confirm'),
 (r'^resetpassword/passwordsent/$', 'django.contrib.auth.views.password_reset_done'),
 (r'^reset/done/$', 'django.contrib.auth.views.password_reset_complete'),
 )+static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)+staticfiles_urlpatterns()

这里有什么不妥?

1 个答案:

答案 0 :(得分:1)

问题是你的路径以2斜杠开头,所以它当前是//reset/Nw/3u5-5654a2cadfa432b86577/(当你的路径只用1斜杠开头时,Django不使用第一个斜杠来匹配你的模式,这就是为什么它在错误信息中显示的“URL”只以1斜杠开头。)

您的代码中可能包含以下内容:<domain>/{{ obj.path }}

解决方案:

从您返回的路径中删除额外的斜杠,这将导致路径为/reset/Nw/3u5-5654a2cadfa432b86577/