【发布时间】:2014-12-27 13:54:06
【问题描述】:
我正在覆盖 modelAdmin 的 save_model 方法,将通过管理页面上传的图像调整为 650:
def save_model(self, request, obj, form, change):
basewidth = 650
img = PIL.Image.open(form.cleaned_data['image_file'])
if img.size[0] > basewidth:
wpercent = (basewidth / float(img.size[0]))
hsize = int((float(img.size[1]) * float(wpercent)))
img = img.resize((basewidth, hsize), PIL.Image.ANTIALIAS)
img_filefield = getattr(obj, 'image_file')
random_image_name = ''.join(random.choice(string.ascii_lowercase + string.digits) for _ in range(30)) + '.jpeg'
img.save(random_image_name)
img_filefield.save(random_image_name, ContentFile(img))
obj.save()
else:
obj.save()
它正在保存图像,但图像已损坏,如果我打开它,它只是带有"invalid image" 的黑色图像。
我在上面的代码中做错了什么?
【问题讨论】:
标签: python django image python-imaging-library