2013-07-26 26 views
6

我正在使用django(1.4)formwizard作爲我的應用程序。 在第1步中,我正在上傳2個文件。這些文件在第二步中使用。 一切工作正常,但這---「當我完成所有步驟或我停止步驟1後,我仍然有臨時文件存儲在媒體目錄」Django表單嚮導:刪除中間步驟存儲的臨時文件

我怎樣才能確保這些文件被刪除的任何案件?

回答

2

Django的說,你自己來管理這些文件的文檔,所以:

您可以設置上傳路徑到/ tmp(如果你使用的是Linux),這樣他們將被自動刪除。

另一種方法是,你可以寫一個腳本來定期運行和刪除它們。

+0

你是對的,但考慮這一點 - >用戶上傳第1步中的文件,然後點擊prev按鈕並上傳一些不同的文件。在這種情況下,我們有更舊的和更新的文件。 另一種情況是,如果我定期運行一些腳本,我可能會刪除一些用戶剛剛在第1步中上傳的文件,他將提交第2步。 – Aryaveer

0

您需要製作2個步驟的解決方案。

第一步是在嚮導視圖上設置file_storage變量,用params標識嚮導的執行情況,以避免在最後一條評論前面的後續步驟中出現錯誤。

然後在done()的嚮導功能中,刪除所有的文件夾內容(記得在執行過程中爲每個嚮導使用一些唯一的架構),這樣在結束嚮導之前可以刪除所有提交的文件。