class Login(APIView):
def post(self,request,args,*kwargs):
ret = {
'code': 1,
'msg': '登录成功',
}
name = request._request.POST.get('name')
password = request._request.POST.get('password')
try:
obj = models.User.objects.filter(name=name).first()
# 1.判断是否存在
if obj:
# 用户已存在
# 2.判断用户名密码是否正确
if obj.password == password:
print('用户登录成功')
# 3.创建登录的标示符(token)
#生成用户登录的唯一标示,每一次登录都获取新的token,
token = get_token(obj.name,obj.password)
print(token)
#表中如果没有则创建数据,存在则更新数据
models.Token.objects.update_or_create(user=obj,defaults={'token':token})
#4.返回登录后的信息(token字符串)
#将token登录标示返回给用户
ret['token'] = token
else:
# 用户不存在
ret['code'] = 0
ret['msg'] = '该用户不存在'
except Exception as err:
print(err)
ret['code'] = 0
ret['msg'] = '请求异常'
return Response(ret)
网友评论