2016-03-20 70 views
0

當調用ImageModel.save()時,有可能檢查圖像文件是否已上傳?Django在保存ImageField時檢查圖像是否已上傳

例如:

  • 創建對象時,圖像文件應在箱子99%上傳。如果圖片文件沒有上傳,我們可能會給出錯誤或者允許用戶創建一個佔位符對象。
  • 更新對象時,用戶可能上傳新圖像文件以替換它,或者用戶可能無法上傳圖像文件,只能更改對象中的CharField(並保留先前的圖像文件)。

save()將被覆蓋以使用Pillow調整上傳的圖像文件,使用mozjpeg進行壓縮和優化,最後保存到S3。

如何檢查圖像文件是否正在上傳,以便更新病例可以被容納?

+0

您可以在形式,而不是在後端代碼檢查圖像領域,驗證圖像字段是否有價值。 –

回答

0

您可以檢查表單中的圖像字段而不是後端代碼,並驗證圖像字段是否有值。

對於例如:如果字段名稱是image那麼你可以做:

在forms.py

image = forms.Imagefield(required=True) 
+0

如果更新對象時沒有上傳圖像文件,會導致驗證錯誤? – dtgq

+0

這將基本上檢查字段是否有輸入,如果沒有文件上傳,提高「字段是必需的」 –

+0

因此,如果用戶更新對象而不上傳新的圖像文件,我將不得不捕捉異常並提供在例外情況下更新描述等的邏輯? – dtgq