在Django中构建自定义ZIP文件

时间:2010-11-12 14:33:46

标签: python django zip

我正在开发一个使用SCORM的webapp,因此它可以包含在我们客户的学习管理系统中。这通过构建包含多个文件的zip文件来工作。其中两个文件取决于他们想要包含的特定资源以及客户端本身。因此,我想根据需要自动生成这些zip文件。

想象一下,我有一个ZIP的“模板”版本,提取到目录:

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

让我们假设我在fileA和fileB中使用Django的模板sytax。我知道如何通过模板加载器运行文件并渲染它,但是如何将该文件添加到ZIP文件中?

我可以创建一个基本zip文件(没有fileA和fileB)并添加两个渲染吗?否则,您将如何将zipdir克隆到临时位置,然后在压缩之前将这两个文件呈现给它?

1 个答案:

答案 0 :(得分:5)

zipfileStringIO一起使用,您可以在内存中创建一个zip文件,以后可以发送给客户端。