Ejemplo n.º 1
0
 def post(self,request):
     '''
     接收用户名和密码
     :param request:
     :return:
     '''
     param = json.loads(request.body)
     account = param.get('account')
     pwd = param.get('password')
     print(account,pwd)
     obj = User.objects.filter(account=account,password=pwd,enabled=1,status=1).first()
     if not obj:
         return JsonResponse(Message.error(400, '用户名或者密码错误'))
     #创建随机字符串
     ctime = time.time()
     key = '%s|%s'%(account,ctime)
     m = hashlib.md5()
     m.update(key.encode('utf-8'))
     token = m.hexdigest()
     loginObj = LoginStatus.objects.filter(user_id = obj.id).first()
     if not loginObj:
         LoginStatus.objects.create(user_id = obj.id, token = token)
     else:
         loginObj.token = token
         loginObj.status = 1
         loginObj.save()
     return JsonResponse(Message.success(200, token, '登录成功'))
Ejemplo n.º 2
0
 def post(self,request):
     '''
     接收用户名和密码
     :param request:
     :return:
     '''
     token = request.META.get("HTTP_TOKEN")
     obj = LoginStatus.objects.filter(token=token, status=1).first()
     if not obj:
         return JsonResponse(Message.error(300, None, '登出失败'))
     obj.status = 0
     obj.save()
     return JsonResponse(Message.success(200, None, '登出成功'))
Ejemplo n.º 3
0
def w_exception_handler(exc,context):
    response = exception_handler(exc, context) #获取本来应该返回的exception的response 
    if response is not None:
      response.data = Message.error(401, response.data['detail'])
      # del response.data['detail']  #删掉原来的detail
    return response