我在其中一個模型中有一個ImageField,以便用戶可以上傳圖像。當用戶提交上傳表單時,我想驗證相關文件是完全有效且可顯示的圖像。如何檢查上傳的文件是否是Django中的有效圖像
我嘗試使用PIL來驗證圖像實際上真實的,但使用
from PIL import Image
Image.open(model.file)
Image.verify()
無論我給它雖然什麼文件,它總是會拋出異常。
任何人都知道一個簡單的方法來驗證文件?
我在其中一個模型中有一個ImageField,以便用戶可以上傳圖像。當用戶提交上傳表單時,我想驗證相關文件是完全有效且可顯示的圖像。如何檢查上傳的文件是否是Django中的有效圖像
我嘗試使用PIL來驗證圖像實際上真實的,但使用
from PIL import Image
Image.open(model.file)
Image.verify()
無論我給它雖然什麼文件,它總是會拋出異常。
任何人都知道一個簡單的方法來驗證文件?
好消息,你不必這樣做:
類的ImageField(upload_to =無,height_field =無,width_field =無,MAX_LENGTH = 100,**選項)
繼承來自FileField的所有屬性和方法,但也驗證上傳的對象是有效的圖像。
https://docs.djangoproject.com/en/1.10/ref/models/fields/#django.db.models.ImageField
此外,你應該使用驗證()如下:
from PIL import Image
im = Image.open(model.file)
im.verify()
這是正確的,但它似乎並不全部由自己做到這一點。它要求你在forms.py中設置表單,以便進行驗證。 –
您是否通過處理原始發佈數據來處理上傳? – e4c5
是的。我試圖在我設置的視圖方法中處理這一切。我使用表單系統以及is_valid()方法進行設置,並像魅力一樣工作。 –