AssertionError: Когда сериализатору передается аргумент ключевого слова data
, вы должны вызвать .is_valid()
, прежде чем пытаться получить доступ к сериализованному представлению .data
. Сначала вы должны либо позвонить .is_valid()
, либо получить доступ к .initial_data
.
views.py:
from rest_framework.views import APIView
from rest_framework.response import Response
from drfw.serializers import NameSerializers
class restapiView(APIView):
def get(self,request,*args,**kwargs):
alphabets=['A','B','C','D','E']
return Response({'msg':'latters','alphabets':alphabets})
def post(self,request,*args,**kwargs):
serializer=NameSerializers(data=request.data)
if serializer.is_valid:
name=serializer.data.get('name')
msg='Hello{}'.format(name)
return Response({'msg':msg})
else:
return Response(serializer.errors,status=400)
serializers.py:
from rest_framework import serializers
class NameSerializers(serializers.Serializer):
name=serializers.CharField(max_length=30)