1. 程式人生 > >Django_rest_framework學習系列-用戶登錄

Django_rest_framework學習系列-用戶登錄

request byte view odin fault fir exce esp rap

用戶POST登錄-->後臺驗證用戶名密碼-->驗證正確返回TOKEN-->驗證錯誤返回錯誤信息

class UserAPI(APIView):
#用戶登錄類
def post(self,request,*args,**kwargs):
ret = {‘code‘: 200, ‘msg‘: None}
try:
#取前臺數據
user = request._request.POST.get(‘username‘)
pwd = request._request.POST.get(‘password‘)
#驗證數據
obj = models.UserInfo.objects.filter(username=user,password=pwd).first()
if not obj:
ret[‘code‘]= 201
ret[‘msg‘] = ‘用戶名或密碼錯誤‘
#為登錄用戶創建TOKEN
token = md5(user)
#存在就更新,不存在就創建,token表user對應的是userinfo表,這裏user=obj
models.UserToken.objects.update_or_create(user=obj,defaults={‘token‘:token})
ret[‘token‘] = token
except Exception as e:
ret[‘code‘] = 1001
ret[‘msg‘] = ‘請求異常‘
return JsonResponse(ret)

def md5(user):
#MD5生成
import hashlib,time
ctime = str(time.time())
m = hashlib.md5(bytes(user,encoding=‘utf-8‘))
m.update(bytes(ctime,encoding=‘utf-8‘))
return m.hexdigest()

Django_rest_framework學習系列-用戶登錄