Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
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
Beispiel #4
0
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")
Beispiel #5
0
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")