对于DRF视图,我有以下代码:
from rest_framework import viewsets
class MyViewSet(viewsets.ViewSet):
def update(self, request, pk = None):
print pk
print request.data我通过python请求以以下方式调用URL:
import requests
payload = {"foo":"bar"}
headers = {'Content-type': 'application/json'}
r = requests.put("https://.../myPk", data= payload, headers=headers)但是当从服务器接收到请求时,request.data是空的。这是输出:
myPk
<QueryDict: {}>我怎样才能解决这个问题?
发布于 2015-06-05 18:09:05
您需要将payload作为序列化的json对象发送。
import json
import requests
payload = {"foo":"bar"}
headers = {'Content-type': 'application/json'}
r = requests.put("https://.../myPk/", data=json.dumps(payload), headers=headers)否则,DRF实际上会抱怨:
*** ParseError: JSON parse error - No JSON object could be decoded您可以通过调试视图(例如使用pdb或ipdb)或打印如下变量来看到该错误消息:
def update(self, request, pk = None):
print pk
print str(request.data)https://stackoverflow.com/questions/30671808
复制相似问题