zoukankan      html  css  js  c++  java
  • 「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
  • 相关阅读:
    Insert Buffering
    B-Tree vs LSM-tree
    MySQL 5.6 死锁演示 及 日志分析
    MySQL索引
    InnoDB的三个关键特性
    MySQL如何优化GROUP BY :松散索引扫描 VS 紧凑索引扫描
    MySql 自适应哈希索引
    母牛的故事
    简单的java程序
    一些变量的比较
  • 原文地址:https://www.cnblogs.com/wrxblog/p/10400094.html
Copyright © 2011-2022 走看看