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)