Форум сайта python.su
Коллеги, подскажите как лучше всего сделать задуманное:
Хочу сделать чтоб при загрузке фото обрезалось (если оно больше 300х400 px и ресайзилось на автомате обрезая белый фон если он есть)
исходное фото имеет разрешение 500х500 пикселей
фото которое должно получиться имеет разрешение 336х280 пикселей
Какая библиотека или модуль для Django лучше всего умеет это делать?
Вот нашел несколько не не могу выбрать лучшую:
django-imagekit
easy_thumbnails
django-image-cropping
django-image-cropper
django-imagehandler
django-avatar-crop
Может кто то сталкивался и сможет посоветовать наиболее подходящее решение под мою задачу?
Офлайн
django-imagekit может это все, только процес автоматической обрезки по белому фону нужно самому написать.
Остальное не проверял, но скорее всего easy_thumbnails тоже подойдет.
Офлайн
Храните оригинальные, resize можно делать в шаблонах, например через это https://github.com/mariocesar/sorl-thumbnail
Офлайн
Rebra4
django-imagekit может это все, только процес автоматической обрезки по белому фону нужно самому написать.Остальное не проверял, но скорее всего easy_thumbnails тоже подойдет.
Офлайн
что быстрее, надежнее и менее ресурсозатратно режет
django-imagekit
easy_thumbnails
django-image-cropping
django-image-cropper
django-imagehandler
django-avatar-crop
Офлайн
Спасибо! буду разбираться с PIL.
Подскажите еще: к какому сигналу Django привязать обработку фото только при первоначальном сохранении статьи, дабы по pre_save он повторно не резал фотку?
Офлайн
Зачем тут сигнал?
class PostForm(forms.ModelForm): class Meta: model = Post fields = ['name', ....] def save(self, commit=True): if self.instance.id is None: ..... делаем тамбнейл картинки return super(PostForm, self).save(commit=commit)
Офлайн
это код для формы я правильно понял?
мне же надо обрезать фотки при ручном добавлении статей в админку, можно это реализовать без сигналов?
Офлайн
А кто не дает ModelAdmin сделать основании этой формы?
Да и у модели save можно переопределить похожим образом.
Офлайн
а потом вам понядобятся фотки в другом размере и опять будете ресайзить по всей базе?
Используйте sorl-thumbnail он вам динамически все отресазит под нужные размеры в шаблоне и в кэш сложит, откуда будет следующий раз грузить.
Офлайн