「Django」rest_framework学习系列-用户登录

用户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'] = '用户名或密码错误'    
            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生成方法:

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
原文地址:https://www.cnblogs.com/wrxblog/p/10400094.html