как сжать загруженное пользователем изображение с подушкой в ​​Django каркасе отдыха - PullRequest
0 голосов
/ 19 января 2020

как бы вы сжали изображение, когда пользователь загрузит

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)

1 Ответ

0 голосов
/ 19 января 2020

Выполните в методе сохранения

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

Флаг 'оптимизировать' максимально уменьшит его размер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...