簡體   English   中英

在GET時在Django rest框架的Response()中添加自定義數據?

[英]Add custom data in Response() of django rest framework while GET?

我正在使用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()添加自定義數據

設置rsp['data'] ,它正在嘗試設置標頭。 由於數據是字典,而不是字符串,因此會出現錯誤。

相反,您應在初始化響應時將響應數據作為第一個參數傳遞:

from rest_framework.response import Response

data = {'length': 10}
rsp = Response(data)
...
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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM