【发布时间】:2012-01-03 00:16:46
【问题描述】:
作为一个视图,我可以生成一个 CSV 文件并将其返回给浏览器以供下载。由于 CSV 文件不支持多个工作表,因此我想生成多个 CSV 文件并将它们打包为下载的 zip 文件。
这是 CSV 文件视图:
def user_csv_pull(request):
response = HttpResponse(mimetype='text/csv')
response['Content-Disposition'] = 'attachment; filename=user_list.csv'
user_list = User.objects.order_by('-date_joined')
t = loader.get_template('reporting/user_list.csv')
c = Context({'user_list': user_list,})
response.write(t.render(c))
return response
我需要扩展它,以支持我想要生成的 4 或 5 个其他 csv 文件,但假设我已经弄清楚了……如何将其推入 zip 文件中?我需要将 CSV 文件写入磁盘然后压缩它们吗?我看到这里发布的其他问题使用SockIO,这似乎是我可以在这里使用的东西。
【问题讨论】: