У меня есть представление, которое берет данные с моего сайта и затем превращает их в сжатый zip-файл csv. Вот мой рабочий код без почтового индекса:
def backup_to_csv(request):
response = HttpResponse(mimetype='text/csv')
response['Content-Disposition'] = 'attachment; filename=backup.csv'
writer = csv.writer(response, dialect='excel')
#code for writing csv file go here...
return response
и это прекрасно работает. Теперь я хочу, чтобы этот файл был сжат до его отправки. Вот где я застреваю.
def backup_to_csv(request):
output = StringIO.StringIO() ## temp output file
writer = csv.writer(output, dialect='excel')
#code for writing csv file go here...
response = HttpResponse(mimetype='application/zip')
response['Content-Disposition'] = 'attachment; filename=backup.csv.zip'
z = zipfile.ZipFile(response,'w') ## write zip to response
z.writestr("filename.csv", output) ## write csv file to zip
return response
Но это не так, и я понятия не имею, как это сделать.