Django rest framework Django响应发送文件以及一些文本数据
目前我正在从Django Rest控制器发送一个zip文件作为响应,zip文件将在前端下载,该功能工作正常,但现在我想发送一些数据以及zip文件作为响应,有什么办法吗 这是我的Django REST控制器代码Django rest framework Django响应发送文件以及一些文本数据,django-rest-framework,download,python-3.6,response,django-2.0,Django Rest Framework,Download,Python 3.6,Response,Django 2.0,目前我正在从Django Rest控制器发送一个zip文件作为响应,zip文件将在前端下载,该功能工作正常,但现在我想发送一些数据以及zip文件作为响应,有什么办法吗 这是我的Django REST控制器代码 response = HttpResponse(byte_io.getvalue(),content_type='application/x-zip-compressed') response['Content-Disposition'] = f'attachment;filename{
response = HttpResponse(byte_io.getvalue(),content_type='application/x-zip-compressed')
response['Content-Disposition'] = f'attachment;filename{my-sample-zip-file}'
return response
如何使用前端的这个zip文件发送数据?您可以使用django的HTTP请求-响应模块。 参考: 若您想在生产代码中这样做,您可能还想处理文件不可用的情况,设置错误并返回整洁的结果。另外,最好将其放在一个公共文件中,然后定义下载文件,如下所示:
from common_library import FileResponse
from django.http import JsonResponse
def download_file( self ):
if self.error_response:
response = JsonResponse( { "error" : self.error_response } )
else:
response = FileResponse(self.report_file_abs_path, self.report_filename)
response['Content-Type'] = 'application/xlsx'
response['Content-Disposition'] = 'attachment; filename=' + self.report_filename
return response
注意:FileResponse是一个用户定义的包装函数,您可以定义它