def post(self, request, *args, **kwargs): """ 用户注册 """ form = WXAuthCreateUserForm(request.data) if not form.is_valid(): return Response({'Detail': form.errors}, status=status.HTTP_400_BAD_REQUEST) cld = form.cleaned_data result = verify_identifying_code(cld) if isinstance(result, Exception): return Response({'Detail': result.args}, status=status.HTTP_400_BAD_REQUEST) user = self.get_object_by_openid(cld['out_open_id']) if isinstance(user, Exception): return Response({'Detail': user.args}, status=status.HTTP_400_BAD_REQUEST) serializer = UserSerializer(user) try: serializer.update_userinfo(request, user, cld) except Exception as e: return Response({'Detail': e.args}, status=status.HTTP_400_BAD_REQUEST) serializer = UserInstanceSerializer(data=serializer.data) return Response(serializer.data, status=status.HTTP_201_CREATED)
def put(self, request, *args, **kwargs): """ 更新用户信息 """ form = UpdateUserInfoForm(request.data, request.FILES) if not form.is_valid(): return Response({'Detail': form.errors}, status=status.HTTP_400_BAD_REQUEST) cld = form.cleaned_data serializer = UserSerializer(request.user) try: serializer.update_userinfo(request, request.user, cld) except Exception as e: return Response({'Detail': e.args}, status=status.HTTP_400_BAD_REQUEST) return Response(serializer.data, status=status.HTTP_206_PARTIAL_CONTENT)
def put(self, request, *args, **kwargs): """ 更新用户信息 """ form = UpdateUserInfoForm(request.data) if not form.is_valid(): return Response({'Detail': form.errors}, status=status.HTTP_400_BAD_REQUEST) cld = form.cleaned_data obj = self.get_object_of_user(request) if isinstance(obj, Exception): return Response({'Detail': obj.args}, status=status.HTTP_400_BAD_REQUEST) serializer = UserSerializer(obj) try: serializer.update_userinfo(request, obj, cld) except Exception as e: return Response({'Detail': e.args}, status=status.HTTP_400_BAD_REQUEST) serializer_response = UserInstanceSerializer(obj) return Response(serializer_response.data, status=status.HTTP_206_PARTIAL_CONTENT)