В качестве представления я могу сгенерировать файл CSV и вернуть его в браузер для загрузки. Поскольку файлы CSV не поддерживают несколько рабочих листов, я хочу создать несколько файлов CSV и упаковать их в виде загружаемого zip-файла.
Вот представление файла CSV:
def user_csv_pull(request):
response = HttpResponse(mimetype='text/csv')
response['Content-Disposition'] = 'attachment; filename=user_list.csv'
user_list = User.objects.order_by('-date_joined')
t = loader.get_template('reporting/user_list.csv')
c = Context({'user_list': user_list,})
response.write(t.render(c))
return response
Мне нужно было бы расширить это, чтобы поддержать 4 или 5 других CSV-файлов, которые я хочу сгенерировать, но при условии, что я понял это ... Как мне вставить это в zip? Нужно ли записывать файлы CSV на диск, а затем архивировать их? Я видел другие вопросы, опубликованные здесь, которые используют SockIO
, что похоже на то, что я могу использовать здесь.