Ho un metodo pulito personalizzato di seguito:Django convalidare ImageField dimensioni ecc
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
Lo scenario problema è questo:
L'immagine è stata caricata. Ora voglio cancellarlo usando la casella di controllo che appare usando il widget ImageField. Quando si invia il modulo per rendere chiaro ciò, il chiaro no.
Se rimuovo il mio metodo pulito personalizzato, il clear funziona. Quindi immagino che il mio metodo stia facendo qualcosa di sbagliato.
provare annullare il rientro il ritorno in modo che sia in linea con l'istruzione if , cioè restituisce sempre i dati. –