img = Image.open(image.file)
width, height = img.size
ratio = float(width) / float(height)
quality = 100
while len(image.file.read()) > limit:
    width -= 100
quality -= 10
height = int(width / ratio)
img.resize((width, height), Image.ANTIALIAS)
img.save(image.file.name, 'JPEG', quality=quality)
image.file = open(image.file.name)
image.file.seek(0)
return image
Библиотека изображений Python (PIL), как сжать изображение до нужного размера?