Создайте несколько файлов CSV, заархивируйте их и загрузите через Django - PullRequest
0 голосов
/ 03 января 2012

В качестве представления я могу сгенерировать файл 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, что похоже на то, что я могу использовать здесь.

1 Ответ

0 голосов
/ 03 января 2012

Использование модуля zipfile , вероятно, является лучшим выбором для создания файлов zip.

...