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, '登录成功'))
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, '登出成功'))
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