2014-01-27 118 views
0

如何將由ImageField上傳的圖像(在我的模型中)替換爲由同一個ImageField選擇的新圖像?django替換ImageField上傳的舊圖像

而且,當我刪除模型對象(批量刪除)時,我可以刪除由ImageField上傳的所有圖像嗎?

回答

1

這可能會變得棘手, 很多時候取決於你的約束。 1.爲模型編寫自己的保存方法,然後刪除舊圖像a並替換爲新圖像。 os.popen( 「RM%的」 %STR(info.photo.path))

  1. 寫一個cron作業來清除所有未被引用的文件。但如果磁盤空間再次出現問題,您可能需要執行第一個操作,這會讓您在頁面加載時出現一些延遲。
+0

如果我更喜歡1st解決方案,但是有更新對象時沒有添加新圖像的情況。如何檢查是否提交了新圖像? –

+1

所以,當你更新一個對象時,你會檢查它是否有要保存的圖像,如果有,則保存它。 以及您提到的情況,當您沒有要替換的圖像時,您只需保存其他字段。 – Anup

+0

好的,但如果圖像存在,我如何檢查用戶是否選擇了一個新的圖像在表單中? –