正确的方法是使用django内置密码重置:
在url.pyfrom django.contrib.auth import views as auth_views
urlpatterns = patterns('',
### previous urls
url(r'^password/reset/$',
auth_views.password_reset,
{'template_name': 'my_cool_app/registration/password_reset_form.html'},
name='my_cool_app_password_reset'),
url(r'^password/reset/confirm/(?P[0-9A-Za-z]+)-(?P.+)/$',
auth_views.password_reset_confirm,
{'template_name': 'my_cool_app/registration/password_reset_confirm.html'},
name='my_cool_app_password_reset_confirm'),
url(r'^password/reset/complete/$',
auth_views.password_reset_complete,
{'template_name': 'my_cool_app/registration/password_reset_complete.html'},
name='my_cool_app_password_reset_complete'),
url(r'^password/reset/done/$',
auth_views.password_reset_done,
{'template_name': 'my_cool_app/registration/password_reset_done.html'},
name='my_cool_app_password_reset_done'),
### other urls
)
您只需创建模板,然后在需要时使用url名称来解析它们。