一.关于登录验证
用户在登录的时候会通过验证以及滑动解锁,注意的是需要后端if verify(request.data):
来判断是否发送了那三个验证数据
通过
random_str=str(uuid.uuid4())
Token.objects.update_or_create(user=user_obj, defaults={"key":random_str, "created": datetime.datetime.now()}, )
在token表中创建关联用户,在前端通过cookie来验证,当登录成功后,会带着token回到服务器
1 import uuid 2 import datetime 3 4 from rest_framework.views import APIView 5 from rest_framework.response import Response 6 7 from app01.models import * 8 9 from django.contrib import auth 10 from app01.jiyan.captcha_verify import verify 11 12 class LoginView(APIView): 13 14 def post(self,request): 15 print(request.data) 16 17 # 1 获取数据 18 user = request.data.get("username") 19 pwd = request.data.get("password") 20 user_obj = auth.authenticate(username=user, password=pwd) 21 22 res = {"error_no":0, "user": None, "msg": None} 23 if verify(request.data): 24 if user_obj: 25 random_str=str(uuid.uuid4()) 26 Token.objects.update_or_create(user=user_obj, defaults={"key":random_str, "created": datetime.datetime.now()}, ) 27 # 基于auth表的对象 28 res["username"] = user_obj.username 29 res["access_token"] = random_str 30 31 else: 32 res["msg"] = "用户名或者密码错误!" 33 else: 34 res["msg"] = "验证码错误!" 35 print("res", res) 36 return Response(res)