我正在使用Django rest framework
,我必须在Response()
对象中添加自定义数据。
rsp = Response()
rsp['Content-Disposition'] = 'attachment; filename=%s' % os.path.basename(file)
rsp['X-Accel-Redirect'] = '/export/%s' % file
我想在dict
Response()
因此我尝试了这个,
data = {'length': 10}
rsp = Response(data)
和
data = {'length': 10}
rsp = Response()
rsp['data'] = data
但我收到的错误为'error:{'data'}'
帮助我理解为什么会出现这种情况以及如何在Response()
答案 0 :(得分:1)
设置rsp['data']
时,它会尝试设置标题。这会产生错误,因为数据是字典而不是字符串。
相反,您应该在初始化响应时将响应数据作为第一个参数传递:
from rest_framework.response import Response
data = {'length': 10}
rsp = Response(data)
...
答案 1 :(得分:0)
data = {'length': 10}
return Response({'data': data})
如此;
response = {}
response['Content-Disposition'] = 'attachment; filename=%s' % os.path.basename(file)
response['X-Accel-Redirect'] = '/export/%s' % file
return Response(response)