修改密码
一般密码修改流程为用户点击修改密码后跳转到密码修改页面,在修改页面中输入旧密码和新密码,若用户旧密码通过验证,则用新密码替换旧密码并保存至数据库。
Django内置了密码修改的方法,我们可以用其内置的方法完成此修改密码的操做。
Django提供的修改密码的方法是基于类的视图,我们不必再views.py中编写程序了,下面为具体步骤。
- 编写account下的urls.py:
urlpatterns = [
……
path('password-change/',auth_views.PasswordChangeView.as_view(
template_name="account/password_change_form.html"
success_url="/account/password-change-done/"),
name='password_change')
path('pasword-change-done/',auth_views.PasswordChangeDoneView.as_view(
template_name="account/password_change_done.html"),
name='password_change_done')
]
在第一个路径 ’password-change/‘中使用了auth_views.PasswordChangeView.as_view()
方法,其中参数
-
template_name为用户提交修改密码请求时跳转的页面,即用户要填写新旧密码的页面。
-
success_url为当用户完成密码修改时跳转的链接,用户完成密码修改时,将会跳转到一个页面,在这个页面提醒用户密码修改操作已完成。
第二个路径’password-change-done/‘中,auth_views.PasswordChangeDoneView.as_view()
时配置完成密码修改后跳转的页面。
-
编写模板文件
根据路径编写规则,我们需要编写两个模板文件。
在templates文件里的account文件中新建password_change_form.html文件:
{% extends "base.html" %} {% l