亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用django自動下載剛生成的報表或者文件?

如何使用django自動下載剛生成的報表或者文件?

慕的地6264312 2018-07-15 23:44:45
個人使用django的ORM模型創建了相關業務數據的數據庫,然后利用其簡潔的方法來產生報表。那么訪問django相關頁面,獲取到用戶的POST請求后,從數據庫中讀取相對應的數據,然后可以利用xlwt或者一些圖形模塊在本地生成一個類似報告的文件。那么如何在django上實現,提交數據之后,自動下載這些生成的報告文件?
查看完整描述

3 回答

?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

方式多種多樣
1, 如果你采用的是ajax請求, 可以返回靜態文件名字a.xlsx, 把你的報表存放入/static/../ , 前端頁面就直接window.open('/static/../a.xlsx) ,就可以進行下載

2, 返回文件流:

from django.http import StreamingHttpResponse

def big_file_download(request):

    def file_iterator(file_name, chunk_size=512):

        with open(file_name) as f:

            while True:

                c = f.read(chunk_size)

                if c:

                    yield c

                else:

                    break


    the_file_name = "file_name.txt"

    response = StreamingHttpResponse(file_iterator(the_file_name))

    return response


查看完整回答
反對 回復 2018-07-20
  • 3 回答
  • 0 關注
  • 1998 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號