Тип носителя и контент отображаются для POST вместо простого имени Charfield в Django REST - PullRequest
0 голосов
/ 01 марта 2020

Привет, я новичок в Django REST и учился через онлайн-видео. Я пытаюсь построить REST API и определяю POST с помощью сериализатора. В соответствии с инструкциями в видео я использовал serializers.CharField для поля ввода имени теста, но я получаю mediatype и контент как в прикрепленном изображении.

Views.py:

from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status
from profiles_api import serializers


class HelloApiView(APIView):
    """Test API View"""
    serializers_class = serializers.HelloSerializer

    def get(self, request, format=None):
        """Return a list of APIView features"""

        an_apiview = [
            'Uses HTTP methods as function(get, post, put, patch, delete)',
            'Is similar to a traditional Django View',
            'Gives you most conrtol over you application logic',
            'Is maaped manually to URLs'
        ]

        return Response({'message':'Hello!','an_apiview':an_apiview})

    def post(self, request):
        """Create a hello message with our name"""

        serializer = self.serializers_class(data=request.data)
        if serializer.is_valid():
            name = serializer.validated_data.get('name')
            message = f'Hello {name}'

            return Response({'message' : message})
        else:
            return Response(
                serializer.errors, 
                status=status.HTTP_400_BAD_REQUEST
                )

serializers.py:

from rest_framework import serializers

class HelloSerializer(serializers.Serializer):
    """Serializers a name field for testing our APIView"""
    name = serializers.CharField(max_length=10)
    age = serializers.DecimalField(max_digits=10,decimal_places=2)

MediaType and content instead of Name field

...