def post(self, request, *args, **kwargs): register_post_form = RegisterPostForm(request.POST) if register_post_form.is_valid(): mobile = register_post_form.cleaned_data["mobile"] password = register_post_form.cleaned_data["password"] # 新建一个用户 user = UserProfile(username=mobile) user.set_password(password) user.mobile = mobile user.save() login(request, user) return HttpResponseRedirect(reverse("index")) else: register_get_form = RegisterGetForm() return render( request, "register.html", { "register_get_form": register_get_form, "register_post_form": register_post_form })
def post(self, request): login_form = DynamicLoginPostForm(request.POST) if login_form.is_valid(): # 没有注册账号依然可以使用 mobile = login_form.cleaned_data["mobile"] existed_users = UserProfile.objects.filter(mobile=mobile) if existed_users: user = existed_users[0] else: # 新建一个用户 user = UserProfile(username=mobile) password = generate_random(10, 2) user.set_password(password) user.mobile = mobile user.save() login(request, user) return HttpResponseRedirect(reverse("index")) else: return render(request, "login.html", {"login_form": login_form})
def post(self, request, *args, **kwargs): register_post_form = RegisterPostForm(request.POST) if register_post_form.is_valid(): mobile = register_post_form.cleaned_data['mobile'] password = register_post_form.cleaned_data['password'] # 创建一个用户 user = UserProfile(username=mobile) user.set_password(password) user.mobile = mobile user.save() login(request, user) return HttpResponseRedirect(reverse('index')) else: register_get_form = RegisterGetForm() return render( request, 'register.html', { 'register_get_form': register_get_form, 'register_post_form': register_post_form })
def post(self, request, *args, **kwargs): dynamic_login = True login_form = DynamicLoginPostForm(request.POST) # 校验手机号码(下面),和手机验证码(内嵌在DynamicLoginPostForm里面了) banners = Banner.objects.all()[:3] if login_form.is_valid(): # 去数据库查是否存在该用户 mobile = login_form.cleaned_data['mobile'] existed_user = UserProfile.objects.filter(mobile=mobile) # 如果用户存在,则直接登录 if existed_user: user = existed_user[0] # 如果用户不存在,则新建一个用户 else: # 默认用户名=手机号 user = UserProfile(username=mobile) # 使用明文密码不安全,所以先生存随机密码,再用AbstractUser自带的set_password来进行hash加密存储,防止被破解 password = generate_random(10, 2) user.set_password(password) # 别忘记存手机号 user.mobile = mobile # 最后对新建的对象进行保存,否则不会存进数据库 user.save() # 登录后,跳转首页 login(request, user) next = request.GET.get('next', '') if next: return HttpResponseRedirect(next) return HttpResponseRedirect(reverse('index')) # 手机号码或手机验证码,验证失败就跳回登录页面 # 需求,显示错误信息 else: # 生成d_form对象是为了当验证失败返回登录页面的时候,能够带上captcha字段 d_form = DynamicLoginForm() return render( request, 'login.html', { 'login_form': login_form, 'dynamic_login': dynamic_login, 'd_form': d_form, "banners": banners, })
def post(self, request, *args, **kwargs): login_form = DynamicLoginForm() username = request.POST.get("username") password = request.POST.get("password") user_is_valid = UserProfile.objects.filter(username=username) if user_is_valid.count() != 0: return render(request, "register.html", { "msg": "用户名已存在", "login_form": login_form }) else: user = UserProfile(username=username) user.set_password(password) user.mobile = "11111111111" user.nick_name = username user.address = "默认" user.gender = "male" user.is_VIP = False user.save() login(request, user) return HttpResponseRedirect(reverse("index"))
def post(self, request): register_form = RegisterPostForm(request.POST) if register_form.is_valid(): # 新建一个用户 mobile = register_form.cleaned_data.get('mobile') password = register_form.cleaned_data.get('password') user = UserProfile(username=mobile) user.set_password(password) user.mobile = mobile user.save() login(request, user) return redirect(reverse('front:index')) else: print(register_form.errors.get_json_data()) captcha_form = RegisterGetForm() content = { 'register_form_errors': register_form.errors, 'captcha_form': captcha_form } return render(request, 'register.html', context=content)
def post(self,request, *args, **kwargs): login_form = DynamicLoginPostForm(request.POST) banners = Banner.objects.all()[:3] dynamic_login = True if login_form.is_valid(): # 没有注册账号依然可以登录 mobile = login_form.cleaned_data['mobile'] existed_users = UserProfile.objects.filter(mobile=mobile) if existed_users: user = existed_users[0] else: # 新建用户 user = UserProfile(username=mobile) password = generate_random(10, 2) user.set_password(password) user.mobile = mobile user.save() login(request, user) return HttpResponseRedirect(reverse('index')) else: d_form = DynamicLoginForm() return render(request, 'login.html', {'login_form': login_form, 'dynamic_login': dynamic_login, 'd_form': d_form, 'banners':banners})
def post(self, request, *args, **kwargs): #处理用户传递过来的请求 register_post_form = RegisterPostForm(request.POST) dynamic_login = True if register_post_form.is_valid(): # 注册账号 mobile = register_post_form.cleaned_data["mobile"] password = register_post_form.cleaned_data["password"] # 新建一个用户 user = UserProfile(username=mobile) user.set_password(password) # 生成该密码的秘文 user.mobile = mobile user.save() login(request, user) # 使该用户登陆 return HttpResponseRedirect(reverse("index")) # 跳转到首页 else: register_get_form = RegisterGetForm() #新的验证码 # register_post_form = RegisterPostForm() #错误的信息 return render(request, "register.html", { "register_get_form": register_get_form, "register_post_form": register_post_form, }) # 传递到html文件中
def post(self, request, *args, **kwargs): dynamic_login = DynamicLoginPostForm(request.POST) if dynamic_login.is_valid(): # 没有注册账号依然可以登录 mobile = dynamic_login.cleaned_data['mobile'] existed_user = UserProfile.objects.filter(mobile=mobile) if existed_user: user = existed_user[0] else: # 新建一个用户 user = UserProfile(username=mobile) password = generate_random(10, 2) user.set_password(password) user.mobile = mobile user.save() auth.login(request, user) return HttpResponseRedirect(reverse('index')) else: d_login_form = DynamicLoginForm() return render(request, 'login.html', { 'dynamic_login': dynamic_login, 'd_form': d_login_form })
def post(self, request): # 校验数据 mobile_login_form = MobileLoginForm(request.POST) if not mobile_login_form.is_valid(): # 校验数据不对 # 生成验证码 d_mobile_form = CaptchaForm(request.POST) return render(request, 'login.html', {'mobile_login_form': mobile_login_form, 'd_mobile_form': d_mobile_form, 'res': 2}) # 接收数据 mobile = mobile_login_form.cleaned_data['mobile'] code = mobile_login_form.cleaned_data['code'] # 查询是否有此用户 try: user = UserProfile.objects.get(mobile=mobile) except UserProfile.DoesNotExist: user = UserProfile() user.username = mobile user.mobile = mobile user.set_password(RandomStr.random_str(8, 2)) user.save() # 记住用户登录状态 login(request, user) # 登录成功删除用户刚才的验证码 r = redis.Redis() r.delete(mobile) # 获取用户来前的页面 url_next = request.GET.get('next', reverse('index')) # 返回首页 return redirect(url_next)
def post(self, request): dynamic_login_flag = True login_form = DynamicLoginPostForm(request.POST) if login_form.is_valid(): mobile = login_form.cleaned_data.get('mobile') existed_users = UserProfile.objects.filter(mobile=mobile) if existed_users: user = existed_users[0] else: # 未查到注册信息 user = UserProfile(username=mobile) user.set_password(random_str.generate_random(10, 2)) user.mobile = mobile user.save() login(request, user) return HttpResponseRedirect(reverse('index')) else: d_form = DynamicLoginForm() return render( request, 'login.html', { 'login_form': login_form, 'dynamic_login_flag': dynamic_login_flag, 'd_form': d_form })
def post(self, request, *args, **kwargs): #form表单实例化的时候、如果是post请求、需要加上request.POST register_post_form = RegisterPostForm(request.POST) #如果验证成功、则说明手机号是新的、验证码也和redis当中的一样 if register_post_form.is_valid(): mobile = register_post_form.cleaned_data["mobile"] password = register_post_form.cleaned_data["password"] print("验证成功以后会打印这句话") #手机号是用户名 user = UserProfile(username=mobile) #设置密码 加密的形式 user.set_password(password) #手机号是手机号 user.mobile = mobile #保存 user.save() #记录登录 login(request, user) #跳转到首页 return HttpResponseRedirect(reverse("index")) else: #如果验证失败的话 重新分配图片验证码到 register_get_form表单 register_get_form = RegisterGetForm() return render( request, "register.html", { "register_get_form": register_get_form, #这个里面有错误信息、传递过去显示出来 "register_post_form": register_post_form })