django-返回清晰(空)图像

时间:2018-07-15 02:16:36

标签: image-processing django-forms django-2.0

我想从配置文件模型实例中清除图像。我正在尝试在干净的数据功能中实现这一目标。该功能可以调整图像的大小,但是当我使用“清除”复选框提交表单时,该图片仍然存在。

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

1 个答案:

答案 0 :(得分:0)

这成功了

if not image:
    image = ''
    return image