我想从配置文件模型实例中清除图像。我正在尝试在干净的数据功能中实现这一目标。该功能可以调整图像的大小,但是当我使用“清除”复选框提交表单时,该图片仍然存在。
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
答案 0 :(得分:0)
这成功了
if not image:
image = ''
return image