在Django中构建自定义ZIP文件

Oli*_*Oli 3 python django zip

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

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

/zipdir/fileA.html
/zipdir/fileB.xml
/zipdir/static-file.jpg
Run Code Online (Sandbox Code Playgroud)

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

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

Ign*_*ams 5

使用zipfilewith StringIO将允许您在内存中创建一个zip文件,以后可以发送到客户端.