django - return 清晰(空)图像
django - return clear (empty) image
我想清除配置文件模型实例中的图像。我正在尝试在清理数据功能中完成此操作。该功能可以调整图像大小,但是当我提交带有 'clear' 复选框的表单时,图片仍然存在。
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
我想清除配置文件模型实例中的图像。我正在尝试在清理数据功能中完成此操作。该功能可以调整图像大小,但是当我提交带有 'clear' 复选框的表单时,图片仍然存在。
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