python下载网络错误_下载失败,出现“网络错误”+40000

我有一个分页的表,它使用一个端点的数据,该端点使用Django ReST Framework(DRF)返回JSON。表过滤是通过向DRF传递URL参数来实现的。我正在构建一个按钮,让用户下载过滤后的数据作为CSV。该按钮可以处理大约10K行,但当结果数超过20K时,将失败

下载的内容是Failed - Network error,但是我可以在Chrome dev tools的network标签页上看到,我对csv数据的请求成功了,得到了200个响应代码。以下是返回CSV响应的函数:def download_csv(data):

pseudo_buffer = Echo()

writer = csv.DictWriter(pseudo_buffer, fieldnames=fieldnames)

rows_to_write = [

{'col1': 'a', 'col2': 'b', 'col3': 'c'},

{'col1': 'e', 'col2': 'f', 'col3': 'g'},

# 40K more rows here that are calculated

# from the data parameter which is

# serializer.data (a DRF serializer)

]

# setup streaming http response

response = StreamingHttpResponse(

(writer.writerow(row) for row in rows_to_write),

content_type='text/csv')

response['Content-Disposition'] = 'attachment; filename="download.csv"'

return response

我开始尝试使用Django的HttpResponse。这对10K行有效,但在20K+行时失败。我切换到了StreamingHttpResponse,如Django文档中的this example中所述,希望这样可以下载包含大量行的CSV文件。我被困在与使用HttpResponse时相同的限制。在

下面是我用来下载CSV文件的Javascript函数:

^{pr2}$

只是行数越少越好。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值