美文网首页Spring.Net
五、Django2.1 搭建多用户的博客网站——修改密码

五、Django2.1 搭建多用户的博客网站——修改密码

作者: 27efec53a72d | 来源:发表于2019-01-27 18:12 被阅读125次

    目录:Django 2.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

    填写完表单提交后,页面如图


    修改密码成功.png

    相关文章

      网友评论

        本文标题:五、Django2.1 搭建多用户的博客网站——修改密码

        本文链接:https://www.haomeiwen.com/subject/ooebjqtx.html