在我看来,我无法检索其余API中的参数。当我打印数据时我得到{'in_text':''}
serialize认识.朋友
class StandardizerSerializer(serializers.Serializer):
in_text = serializers.CharField(max_length=2000,required=False)
views.朋友
class standardiz_text(APIView):
def post(self, request):
#serializer = StandardizerSerializer(context={'request': request})
serializer = StandardizerSerializer(data=request.data)
print(repr(serializer))
if serializer.is_valid(raise_exception=True):
print(serializer.data)
else:
print("----------not valid")
return Response({'standardizer_text': ' test data'})
url来自邮递员的电话
http://127.0.0.1:8000/standardiz/text/?in_text=tesinput
输出是
StandardizerSerializer(data={}):
in_text = CharField(max_length=2000, required=False)
{}
您将in_text
数据作为url查询参数传递。 URL查询参数位于request.query_params
属性中。所以,如果你想从query_params
序列化一些东西,你必须将它传递给序列化器而不是request.data
#code
class standardiz_text(APIView):
def post(self, request):
serializer = StandardizerSerializer(data=request.query_params) # change is here <<<<<
if serializer.is_valid(raise_exception=True):
print(serializer.data)
else:
print("----------not valid")
return Response({'standardizer_text': ' test data'})