当我尝试使用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()
这里有什么不妥?
答案 0 :(得分:1)
问题是你的路径以2斜杠开头,所以它当前是//reset/Nw/3u5-5654a2cadfa432b86577/
(当你的路径只用1斜杠开头时,Django不使用第一个斜杠来匹配你的模式,这就是为什么它在错误信息中显示的“URL”只以1斜杠开头。)
您的代码中可能包含以下内容:<domain>/{{ obj.path }}
从您返回的路径中删除额外的斜杠,这将导致路径为/reset/Nw/3u5-5654a2cadfa432b86577/
。