在Django中没有错误就不会出现csv下载

时间:2018-08-01 15:55:06

标签: django pandas bytesio

我正在实现引用this page的csv donwloand函数。
即使我没有收到任何错误消息,也无法下载csv文件。
有人知道此实现有什么问题吗?
下面是从数据库下载csv文件的代码。

class timeCSVexport(View):

    def get(self,request,pk,keyword):

        key=keyword.replace("_"," ")
        queryset=timeseries.objects.filter(html__pk=pk).filter(keyword=key)

        bio = BytesIO()
        data=json.loads(list(queryset)[0].df)
        df=pd.DataFrame.from_dict(data,orient='index').T
        df.index=pd.to_datetime(df.index)
        df1=df.sort_index()

        sheet=key[:31] if len(key)>31 else key
        print (sheet)
        writer=pd.ExcelWriter(bio,engine='xlsxwriter')
        df1.to_excel(writer,sheet_name=sheet)
        writer.save()

        bio.seek(0)
        workbook=bio.getvalue()

        response = StreamingHttpResponse(workbook,content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
        response['Content-Disposition'] = 'attachment; filename=%s' % pk

        return response

0 个答案:

没有答案