示例#1
0
    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)
示例#2
0
    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)
示例#3
0
    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)