Ejemplo n.º 1
0
 def post(self, request):
     modify_form = ModifyPwdForm(request.POST)
     if modify_form.is_valid():
         pwd1 = request.POST.get("password1", "")
         pwd2 = request.POST.get("password2", "")
         # 如果两次密码不相等,返回错误信息
         if pwd1 != pwd2:
             return HttpResponse('{"status":"fail", "msg":"密码不一致"}',
                                 content_type='application/json')
         # 如果密码一致
         user = request.user
         # 加密成密文
         user.password = make_password(pwd2)
         # save保存到数据库
         user.save()
         return HttpResponse('{"status":"success"}',
                             content_type='application/json')
     # 验证失败说明密码位数不够。
     else:
         return HttpResponse(json.dumps(modify_form.errors),
                             content_type='application/json')
Ejemplo n.º 2
0
 def post(self, request):
     modify_form = ModifyPwdForm(request.POST)
     if modify_form.is_valid():
         pwd1 = request.POST.get('password1', '')
         pwd2 = request.POST.get('password1', '')
         email = request.POST.get('email', '')
         if pwd1 != pwd2:
             return render(request, 'password_reset.html', {
                 'email': email,
                 'msg': '密码不一致'
             })
         user = UserProfile.objects.get(email=email)
         user.password = make_password(pwd2)
         user.save()
         return render(request, 'login.html')
     else:
         email = request.POST.get('email', '')
         return render(request, 'password_reset.html', {
             'email': email,
             'modify_form': modify_form
         })
Ejemplo n.º 3
0
 def post(self, request):
     reset_pw_form = ModifyPwdForm(request.POST, instance=request.user)
     if reset_pw_form.is_valid():
         pw1 = request.POST.get('password')
         pw2 = request.POST.get('password2')
         if pw1 != pw2:
             return HttpResponse('{"status":"fail","msg":"两次密码出入不一致"}',
                                 content_type='application/json')
         elif len(pw1) < 6 or len(pw2) < 6:
             return HttpResponse('{"status":"fail","msg":"密码长度最少6位"}',
                                 content_type='application/json')
         elif len(pw1) > 20 or len(pw2) > 20:
             return HttpResponse('{"status":"fail","msg":"密码长度最大20位"}',
                                 content_type='application/json')
         else:
             reset_pw_form.save(commit=True)
             return HttpResponse('{"status":"success"}',
                                 content_type='application/json')
     else:
         return HttpResponse(json.dumps(reset_pw_form.errors),
                             content_type='application/json')
Ejemplo n.º 4
0
 def post(self, request):
     modify_form = ModifyPwdForm(request.POST)
     if modify_form.is_valid():
         pwd1 = request.POST.get("password1", "")
         pwd2 = request.POST.get("password2", "")
         email = request.POST.get("email", "")
         if pwd1 != pwd2:
             return render(request, "password_reset.html", {
                 "email": email,
                 "msg": "密码不一致"
             })
         user = UserInfo.objects.get(email=email)
         user.password = make_password(pwd2)
         user.save()
         return render(request, 'reset_success.html')
     else:
         email = request.POST.get("email", "")
         return render(request, "password_reset.html", {
             "email": email,
             "modify_form": modify_form
         })
Ejemplo n.º 5
0
 def post(self, request):
     modify_form = ModifyPwdForm(request.POST)
     if modify_form.is_valid():
         new_password = request.POST.get("new_password", "")
         confirm_password = request.POST.get("confirm_password", "")
         email = request.POST.get("email", "")
         if new_password != confirm_password:
             render(request, "password_reset.html", {
                 "email": email,
                 "msg": "Two password does not match!"
             })
         else:
             user = UserProfile.objects.get(email=email)
             user.password = make_password(new_password)
             user.save()
             return render(request, "login.html")
     else:
         email = request.POST.get("email", "")
         return render(request, "password_reset.html", {
             "email": email,
             "modify_form": modify_form
         })
Ejemplo n.º 6
0
    def post(self, request):
        modify_form = ModifyPwdForm(request.POST)
        if modify_form.is_valid():
            pwd1 = request.POST.get('password1', '')
            pwd2 = request.POST.get('password2', '')
            if pwd1 != pwd2:
                # 校验失败
                return HttpResponse('{"status": "fail", "msg": "密码不一致"}',
                                    content_type='application/json')

            else:
                user = request.user
                user.password = make_password(pwd1)
                user.save()
                return HttpResponse('{"status": "success"}',
                                    content_type='application/json')

        else:
            # 表单不合法
            email = request.POST.get('email', '')
            return HttpResponse(json.dumps(modify_form.errors),
                                content_type='application/json')
Ejemplo n.º 7
0
 def post(self, request):
     modify_form = ModifyPwdForm(request.POST)
     if modify_form.is_valid():
         pwd1 = request.POST.get("password1", '')
         pwd2 = request.POST.get("password2", '')
         # 如果前后两次密码不相等,那么回填信息并返回错误提示
         if pwd1 != pwd2:
             return HttpResponse('{"status":"fail", "msg":"密码不一致"}',
                                 content_type='application/json')
         # 如果前后两次密码相等,那么进入我们的密码修改保存
         # 取出用户信息
         user = request.user
         # 随意取出一个密码并将其进行加密
         user.password = make_password(pwd1)
         # 将更新后的用户信息保存到数据库里面
         user.save()
         # 密码重置成功以后,跳转到登录页面
         return HttpResponse('{"status":"success"}',
                             content_type='application/json')
     else:
         return HttpResponse('{"status":"fail", "msg":"填写错误请检查"}',
                             content_type='application/json')
Ejemplo n.º 8
0
    def post(self, request):
        modify_form = ModifyPwdForm(request.POST)
        res = dict()

        if modify_form.is_valid():
            pwd1 = request.POST.get('password1', '')
            pwd2 = request.POST.get('password2', '')
            if pwd1 != pwd2:
                res['status'] = 'fail'
                res['msg'] = '两次密码不一致'
                return HttpResponse(json.dumps(res),
                                    content_type='application/json')

            user = request.user
            user.password = make_password(pwd2)
            user.save()

            res['status'] = 'success'
            res['msg'] = '密码修改成功'
        else:
            res = modify_form.errors

        return HttpResponse(json.dumps(res), content_type='application/json')
Ejemplo n.º 9
0
 def post(self, request):
     modify_form = ModifyPwdForm(request.POST)
     if modify_form.is_valid():
         pwd1 = request.POST.get("password1", '')
         pwd2 = request.POST.get("password2", '')
         email = request.POST.get("email", '')
         if pwd1 != pwd2:
             return render(request, 'password_reset.html', {
                 "email": email,
                 "msg": "密码不一致"
             })
         user = UserProfile.objects.get(email=email)
         user.password = make_password(pwd2)
         user.save()
         # todo 这里其实可以给EmailVerifyRecord模型类添加一个bool字段,来使用户重置密码后使链接失效
         # 也可以在给链接设置随机字符串的时候使用之有过期时间
         return render(request, 'login.html')
     else:
         email = request.POST.get("email", '')
         return render(request, 'password_reset.html', {
             "email": email,
             "modify_form": modify_form
         })
Ejemplo n.º 10
0
    def post(self, request):
        if request.user.is_authenticated:
            messages.add_message(request, messages.INFO, '用户已登录,请登出后再访问')
            return redirect(reverse('index'))
        modify_form = ModifyPwdForm(request.POST)
        if modify_form.is_valid():
            pwd1 = request.POST.get("password1", "")
            pwd2 = request.POST.get("password2", "")
            email = request.POST.get("email", "")
            if pwd1 != pwd2:
                messages.add_message(request, messages.ERROR, '密码不一致!', extra_tags="danger")
                return render(request, "password_reset.html", {"email": email})

            user = UserProfile.objects.get(email=email)
            user.password = make_password(pwd2)
            user.save()

            messages.add_message(request, messages.SUCCESS, '设置成功')
            return redirect(reverse('login'))
        else:
            email = request.POST.get("email", "")
            messages.add_message(request, messages.ERROR, '表单验证失败,请重新提交表单', extra_tags="danger")
            return render(request, "password_reset.html", {"email": email, "modify_form": modify_form})
Ejemplo n.º 11
0
    def post(self, request):
        pwd_form = ModifyPwdForm(request.POST)

        if pwd_form.is_valid():
            password1 = pwd_form.cleaned_data.get("password1")
            password2 = pwd_form.cleaned_data.get("password2")
            email = pwd_form.cleaned_data.get("email")
            user = User.objects.get(email=email)

            if not user:
                return render(request, "password_reset.html",
                              {"msg": u"密码修改失败"})

            if password1 != password2:
                return render(request, "password_reset.html",
                              {"msg": u"两次密码输入不相同"})

            user.password = make_password(password1)
            user.save()
            return render(request, "login.html")

        else:
            return render(request, "password_reset.html", {"msg": u"密码格式错误"})
Ejemplo n.º 12
0
    def post(self, request):
        modiypwd_form = ModifyPwdForm(request.POST)
        if modiypwd_form.is_valid():
            pwd1 = request.POST.get("password1", "")
            pwd2 = request.POST.get("password2", "")
            active_code = request.POST.get("active_code", "")
            # 让后台能够识别真正修改的是哪个用户的密码;
            email = request.POST.get("email", "")

            # 如果两次密码不相等,返回错误信息
            if pwd1 != pwd2:
                return render(request, "password_reset.html", {
                    "email": email,
                    "msg": "密码不一致"
                })

            # 如果密码一致,找到激活码对应的邮箱;
            all_record = EmailVerifyRecord.objects.filter(code=active_code)
            for record in all_record:
                email = record.email

            user = UserProfile.objects.get(email=email)
            # 密码加密
            user.password = make_password(pwd2)
            # save保存到数据库
            user.save()
            # 修改成功则返回至登录页面;
            return render(request, "login.html", {"msg": "密码修改成功,请登录"})

        # 验证失败说明密码位数不够;
        else:
            email = request.POST.get("email", "")
            return render(request, "password_reset.html", {
                "email": email,
                "modiypwd_form": modiypwd_form
            })
Ejemplo n.º 13
0
 def post(self, request):
     modiypwd_form = ModifyPwdForm(request.POST)
     if modiypwd_form.is_valid():
         pwd1 = request.POST.get("password1", "")
         pwd2 = request.POST.get("password2", "")
         email = request.POST.get("email", "")
         # 如果两次密码不相等,返回错误信息
         if pwd1 != pwd2:
             return render(request, "password-reset.html", {
                 "email": email,
                 "msg": "密码不一致"
             })
         # 如果密码一致, 加密成密文, save保存到数据库
         user = UserProfile.objects.get(email=email)
         user.password = make_password(pwd2)
         user.save()
         return render(request, "login.html", {"msg": "密码修改成功,请登录"})
     # 验证失败
     else:
         email = request.POST.get("email", "")
         return render(request, "password-reset.html", {
             "email": email,
             "modiypwd_form": modiypwd_form
         })
Ejemplo n.º 14
0
    def post(self, request):
        modify_form = ModifyPwdForm(request.POST)

        if modify_form.is_valid():
            #将active_code引入后,防止串改邮箱,修改其它用户密码!
            active_code = request.POST.get("active_code", "")
            all_records = EmailVerifyRecord.objects.filter(code=active_code)
            if all_records:
                for record in all_records:
                    email = record.email
                    break
            else:
                forget_form = ForgetForm()
                return render(request, "forgetpwd.html", {
                    "forget_form": forget_form,
                    "msg": "active_code无效,请从邮箱链接点开"
                })

            pwd1 = request.POST.get("password1", "")
            pwd2 = request.POST.get("password2", "")
            email = request.POST.get("email", "")
            if pwd1 != pwd2:
                return render(request, "password_reset.html", {
                    "email": email,
                    "msg": "密码不一致"
                })
            user = UserProfile.objects.get(email=email)
            user.password = make_password(pwd2)
            user.save()
            return render(request, "login.html")
        else:
            email = request.POST.get("email", "")
            return render(request, "password_reset.html", {
                "email": email,
                "modify_form": modify_form
            })