Opened 7 years ago

Last modified 7 years ago

#28148 closed Cleanup/optimization

behaviour change on ImageField because of django.core.validators.validate_image_file_extension — at Version 2

Reported by: rm_ Owned by: nobody
Component: Documentation Version: 1.11
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: yes UI/UX: no

Description (last modified by rm_)

The following test code snippet stopped working after upgrading django to 1.11 from 1.10.x. The code now raises a validation error because the posted image has not a valid file extension:

class Test(TestCase):
    def test_post(self):
        img = BytesIO(IMAGE)
        data = {
            'image': img,
        }
        response = self.client.post(url, data=data)

The view takes the data and fill the following ModelForm that fails validation:

class Image(models.Model):
    image = models.ImageField(_(u'Immagine'), upload_to='image')


class ImageForm(forms.ModelForm):
    class Meta:
        model = Image

As a workaround, adding a name attribute to the BytesIO object make the code work again:

        img.name = 'ciao.jpg'

Change History (2)

comment:1 by rm_, 7 years ago

Description: modified (diff)

comment:2 by rm_, 7 years ago

Description: modified (diff)
Summary: bahviour change on ImageField because of django.core.validators.validate_image_file_extensionbehaviour change on ImageField because of django.core.validators.validate_image_file_extension
Note: See TracTickets for help on using tickets.
Back to Top