「Django」rest_framework學習系列-用戶登陸

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

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'] = '用戶名或密碼錯誤'    
            else:
                #爲登陸用戶建立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)
View Code

MD5生成方法:post

import hashlib,time
def md5(user):
    #MD5生成
    ctime = str(time.time())
    m = hashlib.md5(bytes(user,encoding='utf-8'))
    m.update(bytes(ctime,encoding='utf-8'))
    return m.hexdigest()
View Code
相關文章
相關標籤/搜索