2016-04-29 126 views
0

我正在使用一個簡單的在線應用程序,使用Flask,它將從HTML表單獲取值,並使用matplotlib根據這些用戶提供的值生成PDF圖。在Flask中生成由matplotlib生成的動態PDF

所有這些工作,但現在我想產生一個HTML鏈接的結果頁面,這將允許用戶下載這個動態生成的PDF。理想情況下,這意味着動態地提供服務,而不是將其作爲靜態文件存儲在服務器上(因此,爲了保護隱私,我不會爲每個人的PDF存檔)。

到目前爲止,我的Google-fu已經失敗了。有什麼建議麼?

+1

你的問題到底是什麼?你是否正在尋找一個指向['flask.send_file()'](http://flask.pocoo.org/docs/0.10/api/#flask.send_file)的指針?文件的內容是否是動態生成的,其實並沒有太大區別。 –

+0

也許您可以嘗試將生成的PDF存儲在臨時文件夾中,並在用戶下載文件後將其刪除。只是一個建議。希望它是有用的。 –

+0

'savefig'需要一個類似文件的對象,以便您可以將pdf寫入字符串緩衝區。如何讓燒瓶下載目標是我無法幫助你的。 – tacaswell

回答

0

根據生成圖需要多長時間以及需要處理的併發請求數量,您可能需要實施任務隊列以生成圖。這將同時爲PDF提供臨時存儲。例如,這可以使用Celery,Redis和PostgreSQL來實現。您的在線應用程序將不再簡單。