Python 当发送到put请求时,字典内的列表不会出现
我有一本应该是这样的字典Python 当发送到put请求时,字典内的列表不会出现,python,django,django-rest-framework,python-requests,Python,Django,Django Rest Framework,Python Requests,我有一本应该是这样的字典 memberlist = [{"id":50,"firstName":"popo"}] data = {"member": memberlist, "len":1} {"msg":{"member":"firstName","len":"1"}} {"msg&
memberlist = [{"id":50,"firstName":"popo"}]
data = {"member": memberlist, "len":1}
{"msg":{"member":"firstName","len":"1"}}
{"msg":[{"id":50,"firstName":"popo"}],"len":"1"}}
一个put请求,看起来像
url = "http://192.168.100.246:8000/api/group/member/28"
updategroup = requests.put(url,data = data)
这是url的视图
class SetMember(APIView):
permission_classes=[AllowAny]
def getObject(self,id):
try:
return Group.objects.get(id=id)
except Group.DoesNotExist:
return Response(status = status.HTTP_404_NOT_FOUND)
def get(self,request, id):
group = self.getObject(id)
serializer = setMemberSerializer(group)
return Response(serializer.data)
def put(self,request,id, format='json'):
group = self.getObject(id=id)
serializer = setMemberSerializer(group, data=request.data)
if serializer.is_valid():
# serializer.save()
return Response(serializer.data)
return Response ({'msg':request.data}, status = status.HTTP_400_BAD_REQUEST)
这个api不起作用,所以我通过返回request.data作为响应来查看它的错误。结果表明,从响应返回的数据如下所示
memberlist = [{"id":50,"firstName":"popo"}]
data = {"member": memberlist, "len":1}
{"msg":{"member":"firstName","len":"1"}}
{"msg":[{"id":50,"firstName":"popo"}],"len":"1"}}
我希望数据是这样的
memberlist = [{"id":50,"firstName":"popo"}]
data = {"member": memberlist, "len":1}
{"msg":{"member":"firstName","len":"1"}}
{"msg":[{"id":50,"firstName":"popo"}],"len":"1"}}
但是,当我将发送的数据更改为以下内容时(我在列表中添加了单引号,不再使用变量)
一切正常
当使用DRF时,任何帮助或提示都很好,最好以JSON格式发送数据:
updategroup = requests.put(url, json=data)
这样,数据将转换为JSON字符串,contentType将设置为“application/JSON”。根据contentType标题,DRF将为您的数据使用适当的解析器。打印什么(request.parsers,request.content\u type)给了您什么?该死,这就是问题所在,您是否有任何链接可以提供有关DRF和django请求的更多信息?DRF请求的官方文档:,DRF解析器:为处理此类问题提供了坚实的基础。