Для запуска загрузки необходимо установить заголовок Content-Disposition
:
from django.http import HttpResponse
from wsgiref.util import FileWrapper
# generate the file
response = HttpResponse(FileWrapper(myfile.getvalue()), content_type='application/zip')
response['Content-Disposition'] = 'attachment; filename=myfile.zip'
return response
Если вам не нужен файл на диске, вам нужно использовать StringIO
import cStringIO as StringIO
myfile = StringIO.StringIO()
while not_finished:
# generate chunk
myfile.write(chunk)
При желании вы также можете установить Content-Length
заголовок:
response['Content-Length'] = myfile.tell()