如何在django中流式传输大型(~200mb)动态生成的响应?

时间:2018-01-26 17:14:40

标签: django csv django-rest-framework large-data

我必须从大型数据集生成csv响应。 csv数据是动态生成的,并使用djangorestframework-csv进行渲染。

但是由于响应的大小,内存大幅增加,浏览器在处理如此大的响应时也会挂起。

class ImageLabelAnnotations(APIView):
    permission_classes = (IsAuthenticated, )
    renderer_classes = (csvRenderer.CSVRenderer,)

    def get(self, request):
        result= []

        < database queries to generate the response > 

        return Response(result)

将文件作为附件发送也无济于事 我需要以某种方式将此响应流式传输到浏览器,同时在服务器端保持内存检查。

1 个答案:

答案 0 :(得分:-2)

你需要像这样添加

  CONTENT_TYPES = ['image', 'video']

   MAX_UPLOAD_SIZE = "5242880"

参考下面的屏幕截图

enter image description here