Django:图像调整大小&压缩

时间:2018-03-27 16:05:03

标签: python django

我正在开发一个用户可以上传图片的Django项目。

以下是观点:

class AllPictures(models.Model):
    profile = models.ImageField(upload_to='profile_image', blank=True)

    # But before saving the image i'm compressing & resizing it, here's how
    def save(self, *args, **kwargs):
        if self.profile:
            img = Image.open(self.profile)
            resize = img.resize((240, 240), Image.ANTIALIAS)
            new_image = BytesIO()
            resize.save(new_image, format=img.format, quality=75)
            temp_name = self.profile.name
            self.profile.save(temp_name, content=ContentFile(new_image.getvalue()), save=False)
        super(AllPictures, self).save(*args, **kwargs)

但问题是,当我上传图片而不是直接将它们保存到profile_image文件夹时,它会为每个新图像创建一系列子子文件夹。将该图像保存在单独的文件夹中。

因此,profile_image文件夹看起来像这样,

profile_image
    my_image.png
----profile_image
        new_image.png 
--------profile_image
            all_image.png
------------profile_image
                images.png
----------------profile_image
                    picture.png
--------------------profile_image
                        another_pic.png

                        & so on . . .

我们如何在1个文件夹中保存所有新图像&防止这些子文件夹的形成?

0 个答案:

没有答案