def login(request): if request.method == "POST" and request.POST: #获取校验cookie login_cookie = request.get_signed_cookie(key="login_cookie", salt="nihao") if login_cookie: data = request.POST username = data.get("username") password = data.get("password") try: user = CMDBUser.objects.get(username=username) except: return HttpResponse("用户不存在") else: db_password = user.password if password == db_password: response = HttpResponseRedirect("testing/index/", locals()) response.set_cookie(key="username", value=user.username) return response else: return HttpResponse("密码错误") else: return HttpResponse("404") else: #登陆页面,login.html get请求 #生成response实例 response = render(request, "testing/login/") #设置cookie response.set_signed_cookie("login_cookie", "while", salt="nihao", max_age=3600) #返回设置了cookie的响应 return response
def login(request): if request.method == "POST" and request.POST: #获取校验cookie login_cookie = request.get_signed_cookie(key='login_cookie', salt='小霸王') if login_cookie: data = request.POST username = data.get('username') password = data.get('password') try: user = CMDBUser.objects.get(username=username) except: return HttpResponse('用户名不存在,请确认后重新输入。') else: db_password = user.password if password == db_password: response = HttpResponseRedirect('/index/', locals()) response.set_cookie(key='username', value=user.username) return response else: return HttpResponse('密码错误!') else: return HttpResponse("404") else: #生成response实例 response = render(request, 'login.html') #设置cookie response.set_signed_cookie('login_cookie', 'helloworld', salt='小霸王',max_age=3600) return response
def add_like(request,article_id): ctime = Article.objects.get(id=article_id).stime hash_id = hashlib.sha1(str(ctime)).hexdigest() try: if hash_id in str(request.COOKIES.get(article_id)): return HttpResponseRedirect('/blog/%s/like.html'%article_id) else: article = Article.objects.get(id=article_id) article.likes +=1 article.save() response = HttpResponseRedirect('/blog/%s/'%article_id) response.set_signed_cookie(article_id,value=hash_id,max_age=86400) return response except models.Article.DoesNotExist: raise Http404
def active_user(request,token): try: global email email = token_confirm.confirm_validate_token(token) except: email = token_confirm.remove_validate_token(token) users = User.objects.filter(email=email) for user in users: user.delete() messages.info(request, "邮箱验证失败,请联系博主或者重新注册") return HttpResponsePermanentRedirect("/Reuser") try: user = User.objects.get(email=email) user.if_use = True user.save() response = HttpResponseRedirect("/") response.set_signed_cookie("email", email, salt="color", max_age=60 * 60 * 24 * 3) return response except: messages.info(request, "用户不存在,邮箱验证失败,请联系博主或者重新注册") return HttpResponsePermanentRedirect("/Reuser")
def sign(request): if request.method == "POST": form = LoginForm(request.POST) if form.is_valid(): data = form.cleaned_data email = data.get("email") passwd = data.get("passwd") try: user = User.objects.get(email=email) except: # 用户名不存在 # return HttpResponse(json.dumps(0)) messages.info(request, "用户名不存在") return HttpResponsePermanentRedirect("/login") if user: state = check_password(passwd,user.passwd) if state: if user.if_use: #登录 response = HttpResponseRedirect("/") response.set_signed_cookie("email",email,salt="color",max_age=60*60*24*3) return response else: messages.info(request, "您还没有进行邮箱验证,请通过邮箱验证后再登陆") return HttpResponseRedirect("/login") else: #密码错误 messages.info(request,"密码错误") return HttpResponseRedirect("/login") else: #用户名不存在 #return HttpResponse(json.dumps(0)) messages.info(request,"用户名不存在") return HttpResponsePermanentRedirect("/login") else: #邮箱或者密码格式错误 return HttpResponseRedirect(request,"邮箱或者密码格式错误") else: return render(request,"404.html")