Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 当发送到put请求时,字典内的列表不会出现_Python_Django_Django Rest Framework_Python Requests - Fatal编程技术网

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解析器:为处理此类问题提供了坚实的基础。