首页 > 其他分享 >修改密码弹出框搭建

修改密码弹出框搭建

时间:2022-10-06 21:11:06浏览次数:44  
标签:修改 request back dic 密码 弹出 password 搭建

前端代码搭建

主要利用的是bootstrap3中js插件里的模态框版块

<li><a href="" data-toggle="modal" data-target=".bs-example-modal-lg">修改密码</a></li>

<div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel">
                            <div class="modal-dialog modal-lg" role="document">
                                <div class="modal-content">
                                    <div class="row">
                                        <div class="col-md-8 col-md-offset-2">
                                            <h3 class="text-center">修改密码</h3>
                                            <div class="form-group">
                                                <label for="">用户名:</label>
                                                <input type="text" disabled value="{{ request.user.username }}" class="form-control" id="id_username">
                                            </div>
                                            <div class="form-group">
                                                <label for="">原密码:</label>
                                                <input type="text" id="old_password" class="form-control">
                                            </div>
                                            <div class="form-group">
                                                <label for="">新密码:</label>
                                                <input type="password" id="id_password" class="form-control">
                                            </div>
                                            <div class="form-group">
                                                <label for="">新密码:</label>
                                                <input type="text" id="confirm_password" class="form-control">
                                            </div>
                                            <span style="color:red;" id="error"></span>
                                            <div class="modal-footer">
                                                <button type="button" class="btn btn-primary" data-dismiss="modal" >取消</button>
                                                <button type="button" class="btn btn-primary" id="commit">修改</button>
                                            </div>
                                        </div>
                                    </div>
                                    <br>
                                </div>
                            </div>
                        </div>

<script>
    $('#commit').click(function (){
        $.ajax({
            type:'post',
            url:'/set_password/',
            data:{
                'username':$('#id_username').val(),
                'old_password':$('#old_password').val(),
                'password':$('#id_password').val(),
                'confirm_password':$('#confirm_password').val(),
                'csrfmiddlewaretoken':'{{ csrf_token }}',
            },
            success:function (args){
                if (args.code==1000){
                    window.location.reload();
                }else {
                    $('#error').text(args.msg)
                }
            }
        })
    })
</script>

后端接收修改密码数据并提供错误提示

注意修改密码的视图函数必须是登录用户才能使用,所以需要一个@login_required装饰器

@login_required
def set_password(request):
    # 1.判断是否为ajax请求
    if request.method == 'POST':
        back_dic = {'code':1000,'msg':''}
        # 2.获取用户修改密码提交的数据
        username = request.POST.get('username')
        old_password = request.POST.get('old_password')
        password = request.POST.get('password')
        confirm_password = request.POST.get('confirm_password')
        # 3.对比原密码是否正确
        is_right = request.user.check_password(old_password)
        if is_right:
            # 4.判断两次密码是否一致
            if password == confirm_password:
                # 5.一致则修改密码
                request.user.set_password(password)
                request.user.save()
            else:
                back_dic['code'] = 1001
                back_dic['msg'] = '两次密码不一致'
        else:
            back_dic['code'] = 1002
            back_dic['msg'] = '原密码不正确'
        return JsonResponse(back_dic)

标签:修改,request,back,dic,密码,弹出,password,搭建
From: https://www.cnblogs.com/suncolor/p/16758501.html

相关文章

  • LowcodeCore 低代码开发框架——快速搭建数据操作API、数据中台
    @目录技术交流QQ群:2727291761.背景介绍2.LowcodeCore介绍2.1开发环境2.2框架依赖3.LowcodeCore开发文档3.1快速搭建LowcodeCore项目3.1.1步骤一:新建项目3.1.2步骤......
  • 魔兽世界服务端开服架设服务器搭建教程​
    魔兽世界服务端开服架设服务器搭建教程​作为魔兽世界资深玩家,你是否有想过自己开服当服主?相信能看到此篇文章的你心里是有想法的。首先你需要知道开魔兽需要准备哪些东西,​......
  • 魔兽世界服务端开服架设服务器搭建教程Centos系统​
    魔兽世界服务端开服架设服务器搭建教程Centos系统​作为魔兽世界资深玩家,你是否有想过自己开服当服主?相信能看到此篇文章的你心里是有想法的。首先你需要知道开魔兽需要准......
  • HBase1.4.6安装搭建及shell命令使用
    HBase1.4.6安装搭建目录HBase1.4.6安装搭建一、前期准备(Hadoop,zookeeper,jdk)搭建Hbase1、上传解压2、配置环境变量3、修改hbase-env.sh文件4、修改hbase-site.xml文件5、......
  • Redis 3.2 集群搭建
     Redis3.0版本之后支持Cluster.这里安装3.2版本1、下载安装包cd/usr/local/wgethttp://download.redis.io/releases/redis-3.2.1.tar.gztar-zxvf/redis-3.2.1.tar.gz2......
  • docker搭建可道云
    拉取kodbox镜像[root@docker~]#dockerpullkodcloud/kodboxUsingdefaulttag:latestlatest:Pullingfromkodcloud/kodboxlatest:Pullingfromkodcloud/kodbox......
  • 注册功能页面的搭建
    思路分析注册页面需要对用户提交的数据进行校验,并且需要对用户输入错误的地方进行提示!所有我们需要使用forms组件搭建注册页面!平时我们书写form是组件的时候是在views.p......
  • Red Hat Enterprise Linux release 8.0 (Ootpa)-进入单用户模式重新设置root密码
    RedHatEnterpriseLinuxrelease8.0使用单用户模式有一个前提,即系统引导器(GRUB)能正常工作;否则,就要使用修复模式进行系统维护。需要注意的是,进入单用户模式后,如果没有开......
  • 2.用户的登录和修改密码
    1.总结:昨天主要是实现了用户的登录和密码修改,在进行登录的时候,首先使用mapper中的方法查询用户是否为空以及是否已被逻辑删除然后通过传入的密码参数和盐值Md5加......
  • 分组密码的基本的工作模式、优缺点
    1、电子密码本ECB(Electroniccodebook)需要加密的消息按照块密码的块大小被分为数个块,并对每个块进行独立加密。适用于数据较少的情况,比如加密秘钥。优点:简单、快速、......