Django rest framework Django响应发送文件以及一些文本数据

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{

目前我正在从Django Rest控制器发送一个zip文件作为响应,zip文件将在前端下载,该功能工作正常,但现在我想发送一些数据以及zip文件作为响应,有什么办法吗

这是我的Django REST控制器代码

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是一个用户定义的包装函数,您可以定义它