当用户上传时,您将如何压缩图像
from PIL import Image
class photo(models.Model):
title = models.CharField(max_length=100)
uploader = models.ForeignKey(
settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null=True)
image_url = models.ImageField(upload_to='images', null=True)
在保存方法中执行
from PIL import Image
class photo(models.Model):
title = models.CharField(max_length=100)
uploader = models.ForeignKey(
settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null=True)
image_url = models.ImageField(upload_to='images/', null=True)
def save(self, *args, **kwargs):
instance = super(photo, self).save(*args, **kwargs)
img = Image.open(instance.image_url.path)
img.save(instance.image_url.path,quality=20,optimize=True)
return instance
"优化"标志将尽可能减小其大小。