我有一个分页的表,它使用一个端点的数据,该端点使用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}$

只是行数越少越好。在

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

  1. python openstack vpc互通_深入浅出新一代云网络——VPC中的那些功能与基于OpenStack Neutron的实现(一)-简述与端口转发...

    VPC的概念与基于vxlan的overlay实现很早就有了,标题中的"新"只是一个和传统网络的相对概念.但从前年开始,不同于以往基础网络架构的新一代SDN网络才真正越来越多的走进国 ...

  2. 微信小程序新手容易犯的错误_新手程序员的错误以及如何避免它们

    微信小程序新手容易犯的错误 To become a Senior Java Developer, I've been learning Java for many years and still I' ...

  3. 怎样查看计算机网,如何查看电脑(本机)无线网络密钥_查看电脑无线网络密钥的步骤...

    当我们在电脑中那幢无线路由器和无线网卡之后,都会设置无线网络密码,防止蹭网的,但是有时候可能自己设置之后忘记密码了,别人来家里要连接wifi的时候也就无法连接了,那么如何查看电脑(本机)无线网络密钥呢 ...

  4. 网络类型_多种类型的网络钓鱼攻击和诈骗

    点击标题下「蓝色微信名」可快速关注 网络钓鱼攻击每年都会对企业造成重大损失和损害 谷歌和Facebook的损失总计超过1亿美元.比利时克里兰银行向网络犯罪分子交付了超过7500万美元.奥地利航空零部件 ...

  5. 华为手机系统更新提示网络连接到服务器失败,华为网络正常app连不上网络

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 华为网络正常app连不上网络的原因: 1.请检查手机管家内应用联网权限是否开启,如果安装了第三方手机管家,请检查应用的联网权限是否 ...

  6. 树莓派有线网络设置_树莓派的基本网络配置

    树莓派(Raspberry Pi)是如图所示的小电路板,别看它只有卡片大小,但它却能够运行Linux系统,树莓派拥有USB接口,可以连接鼠标键盘,还有HDMI口,可以连接显示器,除此之外,树莓派还提供 ...

  7. 1型错误和2型错误_实际项目常犯错误13:地下室结构设计常见问题2

    推荐:三人行结构团队班(混凝土+钢结构)课程安排 2020年注册结构工程师专业考试荷载专题讲座(全),北京院董工讲解 项目总体情况:地下2层连为一体,地上由防震缝分为3个单体:H1及H2地上25层,钢 ...

  8. php http500错误_如何解决php http500错误问题

    php http500错误的解决办法:1.打开IIS,重新启动FastCGI:2.将"require(./xxx.php)"改成"require(xxx.php)&quo ...

  9. 动漫的python语言代码大全_下载动漫壁纸-Python代码

    本帖最后由 我心她有丶 于 2020-4-16 19:28 编辑 前段时间在论坛找到一个下载动漫壁纸的软件,还挺好用的,这几天突然用一下,下载不出图片,下载的一片白,然后分析了下他的软件,得到了一个地 ...

最新文章

  1. 操作系统学习笔记 第一章:操作系统概述(王道考研)
  2. GARFIELD@07-08-2005 DILBERT
  3. C#new出来的结构体内存分配在堆上
  4. JZOJ 5163. 【NOIP2017模拟6.25】PS的烦恼
  5. SQL Server Error 15404解决方案
  6. [蓝桥杯历届试题] 欧拉与鸡蛋
  7. mysql注册成功为啥启动不了mysql_mysql启动不成功的解决方法
  8. BZOJ 2653 middle
  9. mobilenet cpu 加速_(300223)半导体+芯片概念,净利润增长408%!加速上涨!
  10. Redis学习总结(21)——Redis持久化是如何做的?RDB和AOF对比分析
  11. Parallels Desktop 安装Win 10提示“安全启动功能防止操作系统启动”该如何操作?
  12. MongoDB Master-Slaver集群部署
  13. 计算机网络之简单概念
  14. 数学建模竞赛常用软件培训2
  15. 虚拟机防火墙如何关闭
  16. CSS、HTML补充
  17. 管理者不能忽视的9大面谈技巧
  18. Powerdesigner使用手冊
  19. html----->表单进阶------>字段集
  20. 美国七大外卖O2O网站平台介绍

热门文章

  1. webuploader在bootstrap模态对话框中选择文件按钮无效的问题
  2. 磐石云服务器_磐石云爆款高防云服务器3年仅699元 限量100台 BGP线路 1核2G
  3. mysql concat键值对_MySQL中concat函数
  4. android 桌面图标创建,android创建桌面图标
  5. java 多线程监听同一个端口_使用多线程在Java服务器中同时侦听两个端口
  6. tcp/ip协议包含哪几层_TCP/IP协议的简单介绍
  7. 程序实现switch语句判断年龄_【回顾】(选择执行语句if else和switch)乐创DIY C语言讲义——3.8节(4)...
  8. 三维列表转换成数组时,维度却只有二维
  9. mardown文件图片技巧
  10. basestring与str的区别