五、Django2.1 搭建多用户的博客网站——修改密码
2019-01-27 本文已影响125人
27efec53a72d
目录:Django 2.1 从零开始搭建博客网站系列
服务器环境搭建(选学)
小试牛刀——简单的博客网站
庖丁解牛——多用户的博客网站之用户模块
- 三、Django2.1 搭建多用户的博客网站——登录
- 四、Django2.1 搭建多用户的博客网站——注册
- 五、Django2.1 搭建多用户的博客网站——修改密码
- 六、Django2.1 搭建多用户的博客网站——重置密码
- 七、Django2.1 搭建多用户的博客网站——维护个人详细信息
- 八、Django2.1 搭建多用户的博客网站——头像上传
- 九、Django2.1 搭建多用户的博客网站——用户模块小结
庖丁解牛——多用户的博客网站之文章模块
- 十、Django2.1 搭建多用户的博客网站——文章栏目
- 十一、Django2.1 搭建多用户的博客网站——简单的文章发布
- 十二、Django2.1 搭建多用户的博客网站——使用Markdown发布文章
- 十三、Django2.1 搭建多用户的博客网站——修改和删除文章
- 十四、Django2.1 搭建多用户的博客网站——向用户展示文章
- 十五、Django2.1 搭建多用户的博客网站——文章模块小结
华丽转身——多用户的博客网站之扩展功能
- 十六、Django2.1 搭建多用户的博客网站——文章点赞功能
- 十七、Django2.1 搭建多用户的博客网站——统计文章浏览次数
- 十八、Django2.1 搭建多用户的博客网站——文章评论功能
- 十九、Django2.1 搭建多用户的博客网站——使用自定义模板标签
- 二十、Django2.1 搭建多用户的博客网站——文章标签
- 二十一、Django2.1 搭建多用户的博客网站——美图模块
- 未完待续
项目源码下载:https://github.com/jt1024/lehehe
正文:
Django有内置的修改密码方法,我们可以直接拿来用,只需要修改相关模板即可。
修改 ./account/urls.py 新增以下两行代码
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('password-change-done/', auth_views.PasswordChangeDoneView.as_view(template_name="account/password_change_done.html"), name='password_change_done'),
注意这个参数 success_url 的用法
创建 ./templates/account/password_change_form.html
{% extends "base.html" %}
{% block title %}passowrd change{% endblock %}
{% block content %}
<div class="row text-center vertical-middle-sm">
<h1>Change Password</h1>
<p>Please enter your old password, for security's sake, and then enter your new password twice so we can verify you typed it in correctly.</p>
{% if form.new_password1.help_text %}
<div class="text-left" style="margin-left:400px">
<p>{{ form.new_password1.help_text|safe }}</p>
</div>
{% endif %}
<form class="form-horizontal" action="." method="post">{% csrf_token %}
<div class="form-group">
<label class='col-md-5 control-label text-right'>{{ form.old_password.label_tag }}</label>
<div class="col-md-6 text-left">{{ form.old_password }}</div>
</div>
<div class="form-group">
<label class='col-md-5 control-label text-right'>{{ form.new_password1.label_tag }}</label>
<div class="col-md-6 text-left">{{ form.new_password1 }}</div>
</div>
<div class="form-group">
<label class="col-md-5 control-label text-right">{{ form.new_password2.label_tag }}</label>
<div class="col-md-6 text-left">{{ form.new_password2 }}</div>
</div>
<input type="submit" value="Change my password" class="btn btn-primary btn-lg"/>
</form>
</div>
{% endblock %}
创建 ./templates/account/password_change_done.html
{% extends "base.html" %}
{% block title %}password change done{% endblock %}
{% block content %}
<div class="row text-center vertical-middle-sm">
<p>Your password was changed.</p>
</div>
{% endblock %}
访问 http://127.0.0.1:8000/account/password-change/ 页面如图:
填写完表单提交后,页面如图
修改密码成功.png