mirror of
https://github.com/django/django.git
synced 2025-11-25 05:04:26 +00:00
Fixed #28242 -- Moved ImageField file extension validation to the form field.
This commit is contained in:
parent
6bb3b2bff4
commit
a0c07d77fc
8 changed files with 47 additions and 11 deletions
|
|
@ -32,7 +32,7 @@ from .models import (
|
|||
)
|
||||
|
||||
if test_images:
|
||||
from .models import ImageFile, OptionalImageFile
|
||||
from .models import ImageFile, OptionalImageFile, NoExtensionImageFile
|
||||
|
||||
class ImageFileForm(forms.ModelForm):
|
||||
class Meta:
|
||||
|
|
@ -44,6 +44,11 @@ if test_images:
|
|||
model = OptionalImageFile
|
||||
fields = '__all__'
|
||||
|
||||
class NoExtensionImageFileForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = NoExtensionImageFile
|
||||
fields = '__all__'
|
||||
|
||||
|
||||
class ProductForm(forms.ModelForm):
|
||||
class Meta:
|
||||
|
|
@ -2461,6 +2466,19 @@ class FileAndImageFieldTests(TestCase):
|
|||
self.assertEqual(instance.image.name, 'foo/test4.png')
|
||||
instance.delete()
|
||||
|
||||
# Editing an instance that has an image without an extension shouldn't
|
||||
# fail validation. First create:
|
||||
f = NoExtensionImageFileForm(
|
||||
data={'description': 'An image'},
|
||||
files={'image': SimpleUploadedFile('test.png', image_data)},
|
||||
)
|
||||
self.assertTrue(f.is_valid())
|
||||
instance = f.save()
|
||||
self.assertEqual(instance.image.name, 'tests/no_extension')
|
||||
# Then edit:
|
||||
f = NoExtensionImageFileForm(data={'description': 'Edited image'}, instance=instance)
|
||||
self.assertTrue(f.is_valid())
|
||||
|
||||
|
||||
class ModelOtherFieldTests(SimpleTestCase):
|
||||
def test_big_integer_field(self):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue