【发布时间】:2016-09-04 17:42:05
【问题描述】:
我正在通过查询数据库生成一个 csv 文件,并希望将该文件返回给用户以供下载。文件已损坏,好像下载在完成之前被中断。使用的代码如下:
class Echo(object):
def write(self, value):
return value
pseudo_buffer = Echo()
csv_data = []
for d in pesquisa:
csv_data.append([d[h] for h in data])
writer = csv.writer(pseudo_buffer)
response = StreamingHttpResponse((writer.writerow(row) for row in csv_data),
content_type="text/csv")
response['Content-Disposition'] = 'attachment; filename="report.csv"'
return response
我正在使用 Django 1.8.9 + Gunicorn + Nginx
如果我使用 django 测试服务器得到以下错误:
ConnectionResetError: [Errno 104] Connection reset by peer
【问题讨论】:
-
为什么不发布完整代码?例如,pesquisa 或数据来自哪里?
-
我会更新代码,但问题不在于数据,数据是字典列表。该文件已生成,但在第 120 行左右,因此文件已损坏。
标签: python django csv nginx gunicorn