第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何使用django自動(dòng)下載剛生成的報(bào)表或者文件?

如何使用django自動(dòng)下載剛生成的報(bào)表或者文件?

慕的地6264312 2018-07-15 23:44:45
個(gè)人使用django的ORM模型創(chuàng)建了相關(guān)業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)庫(kù),然后利用其簡(jiǎn)潔的方法來(lái)產(chǎn)生報(bào)表。那么訪問(wèn)django相關(guān)頁(yè)面,獲取到用戶的POST請(qǐng)求后,從數(shù)據(jù)庫(kù)中讀取相對(duì)應(yīng)的數(shù)據(jù),然后可以利用xlwt或者一些圖形模塊在本地生成一個(gè)類似報(bào)告的文件。那么如何在django上實(shí)現(xiàn),提交數(shù)據(jù)之后,自動(dòng)下載這些生成的報(bào)告文件?
查看完整描述

3 回答

?
開心每一天1111

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊

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

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


查看完整回答
反對(duì) 回復(fù) 2018-07-20
  • 3 回答
  • 0 關(guān)注
  • 2028 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)