uuid.uuid4(),會根據我們當前的網卡和時間生成的一個隨機字符串。
注意:uuid.uuid4()生成的是一個對象,需要強轉為字符串。
uid = str(uuid.uuid4()) #當前網關和時間組成的隨機字符串
咱們一般把他用作登錄認證。
from rest_framework.views import APIView
from rest_framework.response import Response
from luffy.models import *
import uuid
 
 
# 用戶認證
class AuthView(APIView):
 
    def post(self,request,*args,**kwargs):
        """
        用戶登錄認證
        :param request:
        :param args:
        :param kwargs:
        :return:
        """
 
        ret = {'code':1000} 
        # user = request.data['user']   #方法可用,但不建議用,沒有值就會報錯
        user = request.data.get('user')  #沒有值會返回none
        pwd = request.data.get('pwd')
 
        user = UserInfo.objects.filter(user=user,pwd=pwd).first() #跟數據庫用戶做校驗
        if not user:
            ret['code'] = 1001
            ret['error'] = '用戶名或密碼錯誤'
        else:   #登錄成功
            uid = str(uuid.uuid4())  #當前網關和時間組成的隨機字符串
            Token.objects.update_or_create(user=user,defaults={'token':uid}) #update_or_create 有就跟新,沒有就創建
            ret['token'] = uid
        return Response(ret)
 
        
