Задать вопрос
JawsIk
@JawsIk
Python Django, Lua, ЧПУ-станки(ArtCam, Aspire)

Можно ли использовать easy thumbnails в Django для уменьшения изображений сразу при их добавлении?

Всем доброго здоровичка!
Значит использую Django 2
Поставил батарейку easy thumbnails

Она прекрасно работает именно как создатель "тумб". И со своей задачей справляется.
Но, столкнулся с тем, что клиентские менеджеры не понимают, что нужно уменьшать файл и добавляют картинки на сервер по 8-12 мб. Объяснения не помогают.

Вопрос, может ли данная батарейка (т.к. она уже используется) быть применена как раз с той целью, что когда добавляют файл (именно в момент когда он добавлялся на сервер) его размер уменьшался и файл (главный, из которого потом будут делаться другие тумбы) записывался сразу в уменьшенном размере.

С уважением!

p.s. т.к. в английском я не очень, то в полной документации реализации именно такой задачи для Django не нашёл

p.s.2. Решение с JS до отправки не предлагать
  • Вопрос задан
  • 1305 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
JawsIk
@JawsIk Автор вопроса
Python Django, Lua, ЧПУ-станки(ArtCam, Aspire)
В принципе нашёл решение сам. Методом собирания целого из кусочков документации.

Значит если по шагам.

1. Установка

2. В модели подключаем и описываем поле изображения похожим нижеприведённым способом:
from easy_thumbnails.fields import ThumbnailerImageField

class Category(models.Model):
    name = models.CharField(max_length=100)
    slug = models.SlugField(blank=True, max_length=100)
    # image = models.ImageField(default='img/my-default.gif') # а так было
    image = ThumbnailerImageField(default='img/my-default.gif', 
                                  resize_source=dict(quality=95, 
                                                     size=(2048, 2048), 
                                  sharpen=True))


3. Делаем миграции. И оно работает.

Работает по принципу "большей стороны". Т.е. если картинка 10000x5000 , то она станет 2048x1024 и наоборот, если второй параметр изначально был больше, то значит он и в итоговом изображении будет больше.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
С формы приходит файл изображения
Обрабатываешь его любой нативной питоновской либой для сжатия изображения
Сохраняешь сорс
Дальше кидаешь сорс в easy thumbnails для кропа.

P.s. Решение с JS до отправки не предлагать - слез с easy thumbnails на js и нативную питонячую либу (размечаю фотки по точкам).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы