def user_register(request): if request.method == 'GET': return render(request, 'register.html') else: user_registerForm = UserRegisterForm(request.POST) if user_registerForm.is_valid(): username = user_registerForm.cleaned_data['username'] email = user_registerForm.cleaned_data['email'] password_1 = user_registerForm.cleaned_data['password_1'] password_2 = user_registerForm.cleaned_data['password_2'] user_list = UserInfo.objects.filter( Q(student_code=username) | Q(email=email)) if user_list: return render(request, 'register.html', {'msg': '学号或邮箱已注册'}) else: if password_1 == password_2: user = UserInfo() user.student_code = username user.username = username user.email = email user.set_password(password_1) user.save() # print("成功") return HttpResponse( "<script>alert('注册成功!请尽快登陆前往个人中心完善信息!');window.location.href='http://127.0.0.1:8000/users/user_login/'</script>" ) else: return render(request, 'register.html', {'msg': '两次输入的密码不一致'}) else: return render(request, 'register.html', {'user_registerForm': user_registerForm})
def post(self, request: Request): ser = RegisterSerivalizer(data=request.data) ser.is_valid(raise_exception=True) username = ser.data.get('username') password = ser.data.get('password') nickname = ser.data.get('nickname') telephone = ser.data.get('telephone') try: UserInfo.objects.get(Q(username=username) | Q(telephone=telephone)) except (UserInfo.DoesNotExist, UserInfo.MultipleObjectsReturned) as e: user = UserInfo(username=username) user.set_password(password) user.nickname = nickname user.telephone = telephone # 我们无需额外激活账号,所以注册是自动激活 user.is_active = True user.save() logger.info(f'用户: {username} 注册成功') return Response(RESPONSE_SUCCESS) else: return Response(RESPONSE_FAILURE)
def post(self, request): ser = RegisterSerivalizer(data=request.data) ser.is_valid(raise_exception=True) username = ser.data.get('username') password = ser.data.get('password') ret = {'result': 'failure', 'detail': ''} try: UserInfo.objects.get(Q(username=username) | Q(telephone=username)) except (UserInfo.DoesNotExist, UserInfo.MultipleObjectsReturned) as e: user = UserInfo(username=username) user.set_password(password) # 我们无需额外激活账号,所以注册是自动激活 user.is_active = True user.save() ret['result'] = 'success' ret['detail'] = '注册成功' LOG.info('用户: %s 注册成功', username) else: ret['detail'] = '用户已注册' return Response(ret)