Image processing django-返回清除(空)图像
我想从纵断面模型实例中清除图像。我试图在clean data函数中实现这一点。该函数用于调整图像大小,但当我提交选中“清除”复选框的表单时,图片仍然存在Image processing django-返回清除(空)图像,image-processing,django-forms,django-2.0,Image Processing,Django Forms,Django 2.0,我想从纵断面模型实例中清除图像。我试图在clean data函数中实现这一点。该函数用于调整图像大小,但当我提交选中“清除”复选框的表单时,图片仍然存在 class ProfileEditForm(forms.ModelForm): image = forms.ImageField(required=False) bio = forms.CharField(required=False) class Meta: model = Profile
class ProfileEditForm(forms.ModelForm):
image = forms.ImageField(required=False)
bio = forms.CharField(required=False)
class Meta:
model = Profile
fields = ('image', 'bio',)
def clean_image(self, *args, **kwargs):
from PIL import Image
from io import BytesIO
from django.core.files.uploadedfile import InMemoryUploadedFile
from sys import getsizeof
image = self.cleaned_data.get("image")
if not image:
image = None
return image
size = (135,135)
im = Image.open(image)
output = BytesIO()
im.thumbnail(size)
im.save(output, format='JPEG', quality=100)
output.seek(0)
image = InMemoryUploadedFile(output,'ImageField', "%s.jpg" %image.name.split('.')[0], 'image/jpeg', getsizeof(output), None)
return image
这就成功了
if not image:
image = ''
return image