Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing django-返回清除(空)图像_Image Processing_Django Forms_Django 2.0 - Fatal编程技术网

Image processing django-返回清除(空)图像

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

我想从纵断面模型实例中清除图像。我试图在clean data函数中实现这一点。该函数用于调整图像大小,但当我提交选中“清除”复选框的表单时,图片仍然存在

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