python 在Django中生成.zip文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 在Django中生成.zip文件相关的知识,希望对你有一定的参考价值。
import os
import zipfile
import cStringIO as StringIO
class ContractDownloadGalleryDetailView(LoginRequiredMixin, DetailView):
model = Contract
def render_to_response(self, context, **httpresponse_kwargs):
contract = self.object
if not contract.images.exists():
return HttpResponseRedirect(
reverse('contract:contract_detail', args=(contract.id,)),
)
dirname = u'imagenes_contrato_{0}'.format(contract.number)
filename = u'{0}.zip'.format(dirname)
buffer = StringIO.StringIO()
z = zipfile.ZipFile(buffer, 'w')
for contract_image in contract.images.all():
z.write(contract_image.image.path, os.path.join(dirname, os.path.basename(contract_image.image.path)))
z.close()
buffer.seek(0)
response = HttpResponse(buffer.read())
response['Content-Disposition'] = u'attachment; filename={0}'.format(filename)
response['Content-Type'] = 'application/x-zip'
return response
以上是关于python 在Django中生成.zip文件的主要内容,如果未能解决你的问题,请参考以下文章
在 node.js 中生成受密码保护的 ZIP 文件
无法在goofys挂载的文件夹中生成zip文件
python django 中生成 Authorization token
如何在python中生成文件而不将其保存到磁盘?
如何不在 Python、Django 中生成两次相同的动态图像?
如何在 django 中生成 url