генерация джанго тар по запросу - PullRequest
1 голос
/ 25 июня 2010

Привет, Используя Django, я хочу сгенерировать tar.gz, который содержит файлы ниже, и отобразить файл tar.gz:

Контент с сервера Ubuntu:

/home/user/myfolder
/home/user/image.jpg
an xml file from www.mysite.com/foo.xml (which is a dynamicly generated xml file.

Визуализированный файл tar.gz

myfolder/
         content/
          .....
image.jpg
foo.xml

Каков наилучший способ сделать это внутри, достичь этого в виде Django?

Ответы [ 2 ]

2 голосов
/ 25 июня 2010

Модуль tarfile , вероятно, является хорошим местом для запуска.

Возможно, вы захотите кэшировать файл где-нибудь в файловой системе, чтобы уберечь себя от лишней работы.Нет необходимости восстанавливать файл, если его содержимое не изменилось.

0 голосов
/ 03 декабря 2015

Вы можете использовать django-tarview (установить через pip из PyPi или получить его из github )

Расширить tarview.views.BaseTarView и внедрить get_files:

from tarview.views import BaseTarView

class TarView(BaseTarView):
    def get_files(self):
        return [File(open('test_file.txt'), name="test_file.txt"),
            ContentFile(b"I am a text file", name="text.txt")]
...