Как отправить ответ об ошибке клиенту в django rest framework? - PullRequest
0 голосов
/ 08 июля 2019

Я новичок в Django rest framework и пытаюсь отправить пользовательские сообщения об ошибках обратно клиенту, где я использую VueJS.

Я следовал ответу, данному здесь , но я не могуполучить сообщение об ошибке на стороне клиента.

на стороне клиента

auth.phoneVerification(this.fullName, this.mobileNo, this.email)
                .then((response)=>{
                  console.log(response.data)
                })
                .catch((error)=>{
                  console.log("Error is ", error)
                })

на стороне сервера

serializers.py

class UserSerializer(serializers.ModelSerializer):

    class Meta:
        model = InterestedUser
        fields = ('full_name', 'phone_no', 'email')

    def __init__(self, *args, **kwargs):
        super(UserSerializer, self).__init__(*args, **kwargs)
        self.fields['full_name'].error_messages['required'] = 'Please provide your full name.'
        self.fields['phone_no'].error_messages['required'] = 'Please provide your mobile number.'
        self.fields['email'].error_messages['required'] = 'Please provide your email id.'

views.py

class UserView(GenericAPIView):
    serializer_class = UserSerializer

    def post(self, request):
        serializer = self.get_serializer(data=request.data)
        print("requested data is ", request.data)

        if not serializer.is_valid():
            raise serializers.ValidationError(serializer.errors)

        print("serialiser errors are ",serializer.errors)

В консоли я не могу получить сообщение, предоставленное serializer.errors

1 Ответ

0 голосов
/ 08 июля 2019

Вы можете вернуть любой ответ Django с правильными данными, например:

    ....
    return JsonResponse({'errors': serializer.errors}, status=500)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...