下面我有一個自定義的乾淨方法:Django的驗證ImageField的尺寸等
def clean_image(self):
image = self.cleaned_data['image']
if image:
from django.core.files.images import get_image_dimensions
w, h = get_image_dimensions(image)
if not image.content_type in settings.VALID_IMAGE_FORMATS:
raise forms.ValidationError(u'Only *.gif, *.jpg and *.png images are allowed.')
if w > settings.VALID_IMAGE_WIDTH or h > settings.VALID_IMAGE_HEIGHT:
raise forms.ValidationError(u'That image is too big. The image needs to be ' + str(settings.VALID_IMAGE_WIDTH) + 'px * ' + str(settings.VALID_IMAGE_HEIGHT) + 'px (or less).')
return image
問題的情形是這樣的:
的圖像已被上傳。我現在想用使用ImageField小部件顯示的複選框清除它。在提交表格時明確表示不發生。
如果我刪除我的自定義清理方法清除確實工作。所以我想我的方法做錯了。
嘗試取消縮進的回報,使其與if語句的直列,即它總是返回數據。 –