def register(request): context = RequestContext(request) registered = False if request.method == 'POST': user_form = UserForm(data=request.POST) profile_form = UserProfileForm(data=request.POST) if user_form.is_valid() and profile_form.is_valid(): user = user_form.save() user.set_password(user.password) user.save() profile = profile_form.save(commit=False) profile.user = user if 'picture' in request.FILES: profile.picture = request.FILES['picture'] profile.save() registered = True else: print user_form.errors, profile_form.errors else: user_form = UserForm() profile_form = UserProfileForm() return render_to_response( 'register.html', {'user_form': user_form, 'profile_form': profile_form, 'registered': registered}, context)
def change_password(request): if request.method == 'POST': form = ChangepasswordForm(request.POST) if form.is_valid(): if check_password(form.cleaned_data['Old_password'], request.user.password): if form.cleaned_data['New_password'] == form.cleaned_data[ 'Confirm_Newpassword']: user = request.user user.set_password(form.cleaned_data['New_password']) user.save() logout(request) messages.success( request, 'your password is updated successfully. ') return redirect('/queries/login/') else: messages.error(request, 'password must be same') form = ChangepasswordForm() return render(request, 'change_password.html', {'form': form}) else: messages.error( request, 'you enterd old password is wrong. please give correct details' ) form = ChangepasswordForm() return render(request, 'change_password.html', {'form': form}) else: form = ChangepasswordForm() return render(request, 'change_password.html', {'form': form})
def editPassword(request): if request.method == "POST": form = EditPasswordForm(request.POST) if form.is_valid(): password = form.cleaned_data['password'] user = User.objects.get(username=request.user.username) user.set_password(password) user.save() messages.add_message(request, messages.INFO, 'Your password has been changed') return HttpResponseRedirect("/yaas/") else: form = EditPasswordForm(request.POST) return render_to_response("editPass.html", {'form': form},context_instance= RequestContext(request))
def editPassword(request): if request.method == "POST": form = EditPasswordForm(request.POST) if form.is_valid(): password = form.cleaned_data['password'] user = User.objects.get(username=request.user.username) user.set_password(password) user.save() messages.add_message(request, messages.INFO, 'Your password has been changed') return HttpResponseRedirect("/yaas/") else: form = EditPasswordForm(request.POST) return render_to_response("editPass.html", {'form': form}, context_instance=RequestContext(request))
def post(self, request): # 接收参数 data = request.POST # 验证数据的合法性 form = ForgetForm(data) if form.is_valid(): # 获取清洗后的数据 cleaned = form.cleaned_data # 将密码进行加密 # 通过id查询数据 user_id = request.session.get('ID') # 取出清洗后的手机号 phone = cleaned.get('phone') # 取出清洗后的密码 password2 = set_password(cleaned.get('password2')) # 修改到数据库 # 验证原密码是否存在,不能用get,用filter if User.objects.filter(phone=phone, id=user_id).exists(): # 更新密码 User.objects.filter(id=user_id).update(password=password2) # 跳转到登录页 return redirect('users:登录') else: # 错误 return render(request, 'user/forgetpassword.html', context={ 'errors': form.errors, })
def create_with_inactive_user(self, email, password, nickname=''): def generate_activation_key(email): salt = sha_constructor(str(random.random())).hexdigest()[:8] activation_key = sha_constructor(salt+email).hexdigest() return activation_key user = User() user.username = email user.email = email user.set_password(password) user.is_active = True user.save() activation_key = generate_activation_key(email) member = self.model(user=user, nickname=nickname, activation_key=activation_key) member.save() member.send_activation_email() return member
def register(request): registered = False if request.method == 'POST': user_form = UserForm(data=request.POST) profile_form = UserProfileForm(data=request.POST) if user_form.is_valid() and profile_form.is_valid(): user = user_form.save() user.set_password(user.password) user.save() profile = profile_form.save(commit=False) profile.user = user if 'picture' in request.FILES: profile.picture = request.FILES['picture'] # profile.user.kills = 0 # profile.user.survival = 0 profile.save() registered = True else: print user_form.errors, profile_form.errors else: user_form = UserForm() profile_form = UserProfileForm() return render( request, 'zombieGame/register.html', { 'user_form': user_form, 'profile_form': profile_form, 'registered': registered })
def create_with_inactive_user(self, email, password, nickname=''): def generate_activation_key(email): salt = sha_constructor(str(random.random())).hexdigest()[:8] activation_key = sha_constructor(salt + email).hexdigest() return activation_key user = User() user.username = email user.email = email user.set_password(password) user.is_active = True user.save() activation_key = generate_activation_key(email) member = self.model(user=user, nickname=nickname, activation_key=activation_key) member.save() member.send_activation_email() return member
def clean(self): #清洗数据 tel = self.cleaned_data.get("tel") #获得提交的手机号码 try: user = User.objects.get(tel=tel) #查询数据库里是否有提交的手机号码 except User.DoesNotExist: #如果不存在 raise forms.ValidationError({"tel": "手机号错误了哦"}) password = self.cleaned_data.get("password", "") #获得提交的密码 if user.password != set_password(password): #判断提交的密码和数据库的密码是否一致 raise forms.ValidationError({"password": "******"}) #不一致提示错误 self.cleaned_data[ "user"] = user #将提交的并且存在的手机号码对象设定为清洗后的数据里的变量(包含所有此手机号的信息) return self.cleaned_data #返回清洗后的数据
def clean(self): id = self.cleaned_data.get('id') password = self.cleaned_data.get('password', '') res = Users.objects.get(pk=id) if res.password != set_password(password): raise forms.ValidationError({'password': '******'}) # 判断两次新密码是否一致 new_pas = self.cleaned_data.get('new_password') re_new_pas = self.cleaned_data.get('re_new_password') if new_pas and re_new_pas and new_pas != re_new_pas: raise forms.ValidationError({'re_new_password': '******'}) return self.cleaned_data
def clean(self): phone = self.cleaned_data.get('phone') try: user = User.objects.get(phone=phone) except User.DoesNotExist: raise forms.ValidationError({'phone': '手机号错误'}) password = self.cleaned_data.get('password') if user.password != set_password(password): raise forms.ValidationError({'password': '******'}) self.cleaned_data['user'] = user return self.cleaned_data
def register(request): registered = False if request.method == 'POST': user_form = UserForm(data=request.POST) profile_form = UserProfileForm(data=request.POST) if user_form.is_valid() and profile_form.is_valid(): user = user_form.save() user.set_password(user.password) user.save() profile = profile_form.save(commit=False) profile.user = user if 'picture' in request.FILES: profile.picture = request.FILES['picture'] # profile.user.kills = 0 # profile.user.survival = 0 profile.save() registered = True else: print user_form.errors, profile_form.errors else: user_form = UserForm() profile_form = UserProfileForm() return render(request, 'zombieGame/register.html', {'user_form': user_form, 'profile_form': profile_form, 'registered': registered} )
def clean(self): tel = self.cleaned_data.get("tel") try: user = User.objects.get(tel=tel) if user.status == 2: raise forms.ValidationError({"tel":"禁止登录"}) except User.DoesNotExist: raise forms.ValidationError({"tel":"手机号不存在"}) password = self.cleaned_data.get("password") if user.password != set_password(password): raise forms.ValidationError({"password":"******"}) self.cleaned_data["user"] = user return self.cleaned_data
def reset_password(request, token): if not UserToken.objects.filter(token=token): return redirect(reverse("index")) else: if request.method == "GET": form = ForgotForm() return render(request, "forgot.html", { "form": form, "token": token }) elif request.method == "POST": form = ForgotForm(request.POST) if form.is_valid(): passw = form.cleaned_data["password"] passw2 = form.cleaned_data["confirm_password"] if (passw == passw2): user = UserToken.objects.get(token=token).user user.set_password(passw) user.save() user2 = authenticate(username=user.username, password=passw) login(request, user2) return redirect(reverse("index"))
def reg(request): if request.method == "GET": return render(request, "reg.html") else: data = request.POST #获取数据 Reg_form = RegformModel(data) #验证表单合法性 if Reg_form.is_valid(): #如果合法 clean_data = Reg_form.cleaned_data user = User() user.tel = clean_data.get("tel") user.password = set_password(clean_data.get("password")) user.save() return redirect("user:登录") else: context = {"errors": Reg_form.errors} return render(request, "reg.html", context=context)
def post(self, request): # 接收参数 data = request.POST form = RegisterModelForm(data) # 验证判断 if form.is_valid(): # 判断通过,保存数据并进行跳转 cleaned_data = form.cleaned_data user = User() user.phone = cleaned_data.get('phone') user.password = set_password(cleaned_data.get('password')) user.save() # 注册成功,跳转登录 return redirect('user:登录') else: # 验证失败,报错,返回注册界面 return render(request, 'user/reg.html', {'form': form})
def reg(request): # 注册页面 if request.method == "GET": return render(request, "reg.html") else: data = request.POST # 得到提交的数据 form = UserformModel(data) # 验证合法性 if form.is_valid(): cleaned_data = form.cleaned_data # 清洗数据 user = User() # 连接数据库User user.tel = cleaned_data.get("tel") # 获得清洗后的数据 user.password = set_password(cleaned_data.get("password")) user.save() return redirect(reverse("user:login")) else: context = {"errors": form.errors} return render(request, "reg.html", context=context)
def post(self, request): # print(id) # 接受参数 data = request.POST phone = data.get('phone') user = Users.objects.get(phone=phone) # 表单验证合法 form = ForgetModelForm(data, instance=user) if form.is_valid(): clened_data = form.cleaned_data user.password = set_password(clened_data.get('password')) user.save() return redirect('user:登录') else: # 提示错误 context = {'form': form} return render(request, 'user/forgetpassword.html', context=context)
def post(self, request): # 注册页面视图 # 接收参数 data = request.POST # 表单验证合法 form = RegisterModelForm(data) if form.is_valid(): # 操作数据库 clened_data = form.cleaned_data # 创建一个用户 user = Users() user.phone = clened_data.get('phone') user.password = set_password(clened_data.get('password')) user.save() return redirect('user:登录') # 错误 else: return render(request, 'user/reg.html', context={'form': form})
def forgetpassword(request): # -------------------------------忘记密码页面 if request.method == "GET": # 如果说是GET请求 return render(request, "forgetpassword.html") if request.method == "POST": # 如果是POST请求 data = request.POST # 获得表单提交的数据 form = ForgetPassword(data) # 进入表单验证 if form.is_valid(): # 如果正确 tel = form.cleaned_data.get("tel") # 获取手机号码 pwd = set_password(form.cleaned_data.get("password")) # 将更新的密码加密 User.objects.filter(tel=tel).update(password=pwd) # 更新密码 return redirect(reverse("user:login")) # 跳转到登录页面 else: context = {"errors": form.errors} # 定义错误变量 return render(request, "forgetpassword.html", context=context) # 渲染页面