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)
