Beispiel #1
0
def login_handle(request):
    #接收请求信息
    post = request.POST
    uname = post.get('username')
    upwd = post.get('pwd')
    jizhu = post.get('jizhu', 0)
    #根据用户查询对象
    users = UserInfo.objects.filter(uname=uname)  #filter get 要是用get要添加异常判断
    print uname
    #判断:如果未查询到则用户名错,如果查询到则判断密码是否正确,正确转到用户中心
    if len(users) == 1:
        s1 = sha1()
        s1.update(upwd)
        if s1.hexdigest() == users[0].upwd:
            red = HttpResponseRedirect('/user/info/')
            #记住用户名
            if jizhu != 0:
                red.sed_cookie('uname', uname)
            else:
                red.set_cookie('uname', '', max_age=-1)  #max_age 过期时间
            request.session['user_id'] = users[0].id
            request.session[
                'user_name'] = uname  #uname使用频率过高直接存在sessionna直接拿来用
            return red
        else:
            context = {
                'title': '用户登陆',
                'error_name': 0,
                'error_pwd': 1,
                'uname': uname,
                'upwd': upwd
            }
            return render(request, 'def_user/login.html', context)
    else:
        context = {
            'title': '用户登陆',
            'error_name': 1,
            'error_pwd': 0,
            'uname': uname,
            'upwd': upwd
        }
        return render(request, 'def_user/login.html',
                      context)  #用户名错 密码对 继续渲染login模板