2011-02-17 53 views
1

如果我希望能夠在上傳後對圖像進行「後期處理」,請將其裁剪至尺寸並應用一些壓縮。就目前而言,我正在使用post_save信號完成此工作,保存模型時,我正在訪問文件,應用後期製作並保存在原始文件上。Django - 保存圖像後處理

我只是在將後期保存信號的創建參數設置爲true時才執行此操作,以避免每次更新模型時都進行不必要的圖像處理。

問題

當現有實例的像場被更新時,圖像的後處理被跳過,因爲所生成的標誌爲假。

即使模型已經創建,我如何才能將模型設置爲僅在ImageField發生變化時纔將後處理應用於圖像? 這個應用程序可能並不總是與django admin一起使用,所以覆蓋imagefield_save方法不會起作用。

希望有人能幫助!

回答

0

這個問題來自很久以前,所以可能不再是實際了嗎?

沒有你看看:

pre_save.connect(before_mymodel_save, sender=MyModel) 

看看the signal documentation of django

創建函數before_mymodel_save,你可以嘗試在那裏做什麼。如果您在後置或預保存功能中使用保存:如果將MyModel對象保存在此功能中(並再次連接),請確保斷開信號以避免無限循環。