def user_login(request, *args, **kwargs): """ 登录 :param request: :param args: :param kwargs: :return: """ body = request.body data = json.loads(body, encoding='utf-8') user_form = UserForm(data) if not user_form.is_valid(): return response_failed() # username = data.get("username", "") # password = data.get("password", "") # # if not username or not password: # return response_failed() # authenticate函数是用来校验用户名密码是否正常 user = authenticate(username=user_form.cleaned_data['username'], password=user_form.cleaned_data['password']) if not user: return response_failed(code=ErrorCode.auth, message="登录失败") else: login(request, user) return response_success()
def post(self, request, *args, **kwargs): """ :param request: :param args: :param kwargs: :return: """ body = request.body data = json.loads(body, encoding="utf-8") if "context" not in data: return response_failed() data["context"] = json.dumps(data["context"]) form = self.form(data) if not form.is_valid(): return response_failed(code=self.code) interface = self.model.objects.create(**form.cleaned_data) if not interface: return response_failed(code=ErrorCode.interface) else: ret = model_to_dict(interface) ret["context"] = json.loads(ret["context"]) return response_success(ret)
def get(self, request, base_id, *args, **kwargs): interface = self.model.objects.filter(id=base_id).first() if not interface: return response_failed(code=self.code, message="数据不存在!") ret = model_to_dict(interface) ret["context"] = json.loads(ret["context"], encoding="utf-8") return response_success(ret)
def post(self, request, *args, **kwargs): body = request.body data = json.loads(body, encoding="utf-8") if not isinstance(data, list): return response_failed(data) for item in data: form = self.form(item) if not form.is_valid(): return response_failed(form) service = self.model.objects.create(**form.cleaned_data) if not service: return response_failed(code=self.code, message='创建数据失败') return response_success()
def put(self, request, base_id, *args, **kwargs): body = request.body data = json.loads(body, encoding="utf-8") form = self.form(data) if not form.is_valid(): return response_failed() service = self.model.objects.filter(id=base_id).first() if not service: return response_failed(code=ErrorCode.common, message="数据不存在!") self.model.objects.filter( id=base_id).update(**form.cleaned_data) # 这里返回是id service = self.model.objects.filter(id=base_id).first() return response_success(model_to_dict(service))
def get_user_info(request, *args, **kwargs): """ 获取已登录的用户信息 :param request: :param args: :param kwargs: :return: """ user = request.user print(user) if not user: return response_failed(code=ErrorCode.auth, message="用户未登录") # 判断用户是否已通过校验 if user.is_authenticated: return response_success(data={"id": user.id, "name": user.username}) else: return response_failed(code=ErrorCode.auth, message="用户未登录")
def post(self, request, *args, **kwargs): """ 新增数据 :param args: :param kwargs: :return: """ body = request.body data = json.loads(body, encoding="utf-8") form = self.form(data) if not form.is_valid(): return response_failed(code=self.code) service = self.model.objects.create(**form.cleaned_data) if not service: return response_failed(code=ErrorCode.service) else: return response_success(model_to_dict(service))
def put(self, request, base_id, *args, **kwargs): body = request.body data = json.loads(body, encoding="utf-8") if "context" not in data: return response_failed() data["context"] = json.dumps(data["context"]) form = self.form(data) if not form.is_valid(): return response_failed() interface = self.model.objects.filter(id=base_id).first() if not interface: return response_failed(code=ErrorCode.interface, message="数据不存在!") self.model.objects.filter( id=base_id).update(**form.cleaned_data) # 这里返回是id interface = self.model.objects.filter(id=base_id).first() ret = model_to_dict(interface) ret["context"] = json.loads(ret["context"], encoding="utf-8") return response_success(ret)
def user_register(request, *args, **kwargs): body = request.body data = json.loads(body, encoding='utf-8') user_form = UserForm(data) if not user_form.is_valid(): return response_failed() username = user_form.cleaned_data['username'] password = user_form.cleaned_data['password'] # # if not username or not password: # return response_failed() if User.objects.filter(username=username).exists(): return response_failed(code=ErrorCode.auth, message="用户名已存在") user = User.objects.create_user(username=username, password=password) if not user: return response_failed(code=ErrorCode.auth, message="注册失败") else: login(request, user) return response_success()
def get(self, request, base_id, *args, **kwargs): service = self.model.objects.filter(id=base_id).first() if not service: return response_failed(code=self.code, message="数据不存在!") return response_success(model_to_dict(service))