Password reset in Django 1.0
Check out the new site at https://rkblog.dev.
26 September 2008
Comments
Resetting password changed in 1.0, and the documentation for this is missing. The basic way of using new views is to add this set to urlconf:
import django.contrib.auth.views
....
(r'^password_reset/$', 'django.contrib.auth.views.password_reset'),
(r'^password_reset/done/$', 'django.contrib.auth.views.password_reset_done'),
(r'^reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$', 'django.contrib.auth.views.password_reset_confirm'),
(r'^reset/done/$', 'django.contrib.auth.views.password_reset_complete'),
(r'^password_reset/$', 'django.contrib.auth.views.password_reset', {'template_name':'userpanel/password_reset_form.html', 'email_template_name':'userpanel/password_reset_email.html'}),
(r'^password_reset/done/$', 'django.contrib.auth.views.password_reset_done', {'template_name':'userpanel/password_reset_done.html'}),
(r'^reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$', 'django.contrib.auth.views.password_reset_confirm', {'template_name':'userpanel/password_reset_confirm.html'}),
(r'^reset/done/$', 'django.contrib.auth.views.password_reset_complete', {'template_name':'userpanel/password_reset_complete.html'}),
- password_reset - URL for password_reset_done view
- password_reset_confirm - URL for password_reset_complete view
- password_reset_email.html - You have add in some way URL to password_reset_confirm in URL tag:
{% url django.contrib.auth.views.password_reset_confirm uidb36=uid, token=token %}
def password_reset(request):
"""
django.contrib.auth.views.password_reset view (forgotten password)
"""
if not request.user.is_authenticated():
return django.contrib.auth.views.password_reset(request,
template_name='userpanel/password_reset_form.html',
email_template_name= 'userpanel/password_reset_email.html',
post_reset_redirect='/user/password_reset/done/')
else:
return HttpResponseRedirect("/user/")
RkBlog
Check out the new site at https://rkblog.dev.
Comment article