问题描述
我正在使用Django rest framework
,必须在Response()
对象中添加我的自定义数据。
rsp = Response()
rsp['Content-Disposition'] = 'attachment; filename=%s' % os.path.basename(file)
rsp['X-Accel-Redirect'] = '/export/%s' % file
我想在此Response()
的数据部分中添加自定义dict
因此我尝试了
data = {'length': 10}
rsp = Response(data)
和
data = {'length': 10}
rsp = Response()
rsp['data'] = data
但是我得到的错误是'error:{'data'}'
帮助我了解为什么会发生此行为以及如何在Response()
添加自定义数据
1楼
设置rsp['data']
,它正在尝试设置标头。
由于数据是字典,而不是字符串,因此会出现错误。
相反,您应在初始化响应时将响应数据作为第一个参数传递:
from rest_framework.response import Response
data = {'length': 10}
rsp = Response(data)
...
2楼
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)