Django PIL 图像无法调整大小

问题描述 投票:0回答:1

我正在尝试调整我的个人资料模型的个人资料图片的大小。我没有看到我做错了什么。下面是代码:

def save(self, *args, **kwargs):
    super().save()

    img = Image.open(self.profile_picture.path)
    img.show()
    img_resized = img.resize((100, 100), Image.Resampling.LANCZOS)
    img_resized.save()

我希望按照代码中提到的尺寸调整代码大小。在运行服务器期间,我在终端中没有收到任何错误。

python django python-imaging-library
1个回答
0
投票

确保指定了要保存图像的路径

img_resized.save()
缺少文件路径参数。

确保在调用

super().save()
时,您也将
*args
**kwargs
传递给它。

from PIL import Image

class YourProfileModel(models.Model):
    profile_picture = models.ImageField(upload_to='profile_pics')

    def save(self, *args, **kwargs):
        super(YourProfileModel, self).save(*args, **kwargs)  
     
        img = Image.open(self.profile_picture.path)

        img_resized = img.resize((100, 100), Image.LANCZOS)

        img_resized.save(self.profile_picture.path)
© www.soinside.com 2019 - 2024. All rights reserved.