【问题标题】:Generate multiple CSV files, zip them up and kick off as a download, via Django通过 Django 生成多个 CSV 文件,将它们压缩并作为下载启动
【发布时间】: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,这似乎是我可以在这里使用的东西。

【问题讨论】:

    标签: django csv download zip


    【解决方案1】:

    使用zipfile module 可能是创建 zip 文件的最佳选择。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-08
      • 2021-09-11
      • 1970-01-01
      • 2018-07-03
      • 1970-01-01
      • 2021-01-20
      相关资源
      最近更新 更多