Создание собственного ZIP-файла в Django - PullRequest
3 голосов
/ 12 ноября 2010

Я работаю над веб-приложением, использующим SCORM, чтобы оно могло быть включено в системы управления обучением наших клиентов.Это работает путем создания zip-файла, который содержит несколько файлов.Два файла зависят от конкретного ресурса, который они хотят включить, и от самого клиента.Поэтому я хотел бы сгенерировать эти zip-файлы автоматически, по требованию.

Итак, представьте, что у меня есть «шаблонная» версия ZIP, извлеченная в каталог:

/zipdir/fileA.html
/zipdir/fileB.xml
/zipdir/static-file.jpg

Давайте представимЯ использую шаблонный синтаксис Django в fileA и fileB.Я знаю, как запустить файл через загрузчик шаблонов и отобразить его, но как добавить этот файл в ZIP-файл?

Могу ли я создать базовый ZIP-файл (в котором нет файлов A и fileB в) и добавить два рендера к нему?Иначе как бы вы клонировали zipdir во временную папку и затем рендерили эти два файла в него, прежде чем архивировать его?

1 Ответ

5 голосов
/ 12 ноября 2010

Использование zipfile с StringIO позволит вам создать zip-файл в памяти, который впоследствии вы сможете отправить клиенту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...