一.关于登录验证

用户在登录的时候会通过验证以及滑动解锁,注意的是需要后端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)
验证

相关文章: