def post(self, request, *args, **kwargs): serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) header = request.META.get('HTTP_AUTHORIZATION') if isinstance(header, str): header = header.encode(HTTP_HEADER_ENCODING) try: tag, token = header.split() cache_token = Cache.get(serializer.data["username"]) if cache_token is not None and str( cache_token).strip() == token.decode().strip(): Cache.delete(serializer.data["username"]) try: user_obj = User.objects.get( username=serializer.data["username"]) models.Log(username=user_obj.username, event=0, content="注销登陆成功!").save() except User.DoesNotExist: logs.print( "error", "{user}不存在,无法记录注销日志".format( user=serializer.data["username"])) except ValueError: pass except AttributeError: return Response(status=status.HTTP_400_BAD_REQUEST) return Response({ "code": 200, "msg": "注销成功!" }, status=status.HTTP_200_OK)
def active(self, request, *args, **kwargs): try: username = request.data["username"] is_active = request.data["active"] except KeyError as key: return Response({ "code": 801, "msg": "缺少:{key}参数1".format(key=key) }) try: user_obj = User.objects.get(username=username) user_obj.is_active = is_active user_obj.save() except User.DoesNotExist: return Response({"code": 805, "msg": "用户不存在!"}) if is_active: msg = "用户激活完成!" else: msg = "用户禁用完成!" Cache.delete(username) models.Log(username=str(request.user), event=3, content="{username}{msg}".format(username=username, msg=msg)).save() return Response({"code": 200, "msg": msg})
def cache_test(): key = request.args.get("key") Cache.set(key,"val") Cache.set("name",key) name = Cache.get("name") Cache.delete("name") Cache.set("age",12) return jsonify({"name":name})
def change(self, request, *args, **kwargs): try: username = request.data["username"] password = request.data["password"] except KeyError as key: return Response({ "code": 801, "msg": "缺少:{key}参数!".format(key=key) }) if str(request.user) != username: return Response({"code": 204, "msg": "密码修改失败!"}) try: user_obj = User.objects.get(username=username) user_obj.set_password(password) user_obj.save() except User.DoesNotExist: return Response({"code": 805, "msg": "用户不存在!"}) Cache.delete(username) msg = "密码修改完成!" models.Log(username=str(request.user), event=3, content="{username}{msg}".format(username=username, msg=msg)).save() return Response({"code": 200, "msg": "密码修改完成!"})
def post(self): try: Cache.delete(self.get_argument('exp'), exp=True) self.flash(1) except: self.flash(0)