python 实现简单的session登录

def check_login(f):
@wraps(f)
def inner(request, *arg, **kwargs):
print(request.session.get(‘is_login’))
if request.session.get(‘is_login’) == ‘1’:
return f(request, *arg, **kwargs)
else:
print(“请先登录!”)
# return JsonResponse({“code”: 10001, “msg”: “未登录,跳转至登录页面,请先登录!”})
return render(request, ‘pc_login.html’)
return inner

#用户登录
def pc_login_check(request):
print(“用户登录!”)
data = request.GET
if not data:
data = request.POST
user_name = data.get(‘user_name’)
password = data.get(‘password’)

    print("用户名:" + str(user_name))
    print("密码:" + str(password))

    #判断用户是否存在
    user_name_list = select_username()
    if user_name not in user_name_list:
        return JsonResponse({"code": 10001, "msg": "该用户不存在,请先注册!"})
    else:
        # 获取数据库密码
        user = select_user(user_name)
        PASSWORD = user["password"]
        use_id = user["user_id"]
        # 判断登录条件
        if password == PASSWORD:
            request.session['is_login'] = '1'
            request.session['user_id'] = use_id
            return JsonResponse({"code": 10000, "msg": "登录成功!"})
        else:
            return JsonResponse({"code": 10001, "msg": "密码错误!"})

@check_login
def pc_audio_list(request):
user_id1 = request.session.get(‘user_id’)
print(“user_id1:” + str(user_id1))
# 使用user_id去数据库中找到对应的user信息
userobj = user.objects.filter(id=user_id1)
print(userobj)
if userobj:
print(111111)
# return JsonResponse({“code”: 10000, “msg”: “跳转人工审核页面!”})
return render(request, ‘audio-list.html’)
else:
print(222222)
# return JsonResponse({“code”: 10000, “msg”: “跳转人工审核页面!”})
return render(request, ‘audio-list.html’)

发布了15 篇原创文章 · 获赞 3 · 访问量 378

猜你喜欢

转载自blog.csdn.net/weixin_44520602/article/details/104862678
今日推荐