Python django rest框架断言错误
AssertionError:当序列化程序被传递一个Python django rest框架断言错误,python,django-rest-framework,Python,Django Rest Framework,AssertionError:当序列化程序被传递一个数据关键字参数时,在尝试访问序列化的数据表示之前,必须调用.is\u valid()。 您应该首先调用.is\u valid(),或者访问.initial\u data views.py: from rest_framework.views import APIView from rest_framework.response import Response from drfw.serializers import NameSerializer
数据
关键字参数时,在尝试访问序列化的数据
表示之前,必须调用.is\u valid()
。
您应该首先调用.is\u valid()
,或者访问.initial\u 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)
是有效的
是一种方法。所以你需要给它打电话
将if serializer.is\u valid:
替换为if serializer.is\u valid():