Найти - Пользователи
Полная версия: Sorl // Как сохранять несколько видов превьюшек, не сохраняя оригинал?
Начало » Django » Sorl // Как сохранять несколько видов превьюшек, не сохраняя оригинал?
1 2
tezro
В общем, есть такая вешь как sorl-thumbnail - http://thumbnail.sorl.net/docs/

Для тех, кто не знаком, потому как в форуме ни одного упоминания, поясню - это приложение для джанго, которое на базе ImageField создаёт несколько типов полей для работы с изображениями, упрощая создание и кеширование изображений, файлов и превью к ним.

Надежды на ответ мало :) Но я попробую…

Есть поле ThumbnailField - http://thumbnail.sorl.net/docs/#thumbnailfield Сохраняет изображение и превью к нему, изменяя его размеры.
Есть поле ImageWithThumbnailsField - http://thumbnail.sorl.net/docs/#imagewiththumbnailsfield Сохраняет исходное изображение, превью к нему и, по желанию, несколько дополнительных миниатюр.

Вопрос: а как мне из загруженного в админке файла сделать 3 миниатюры (большую, среднюю, маленькую) не сохраняя оригинал. Кстати, если кто-то знает другое решение, а не набазе этого приложения, будет здорово.
tezro
Перезагрузка метода save(self) не подходит, так как джанга пляшет от имени оригинала, таки образом, сохраняя несколько изображений на диске сохранится 1 оригинал и N превьюшек - каждый раз при сейве на диске не будет оригинала.
slav0nic
это не есть правильно, все приложения такого плана сохраняют оригинал, ибо если ты захочешь новые тумбы добавить, то с чего ты их будешь генерить как не с оригинала) + эти аппы могут генерить “по вызову”, а не сразу, что опять таки требует наличие оригинала.

ThumbnailField имеет extra_thumbnails параметр
tezro
slav0nic
…захочешь новые тумбы добавить, то с чего ты их будешь генерить как не с оригинала) + эти аппы могут генерить “по вызову”, а не сразу, что опять таки требует наличие оригинала.
Логично. Принято.

slav0nic
ThumbnailField имеет extra_thumbnails параметр
tezro
…превью к нему и, по желанию, несколько дополнительных миниатюр.
Я просто волнуюсь, что файлы с разрешением 3000х2000 засрут хостинг. Но, окей.
slav0nic
ThumbnailField с extra_thumbnails на сколько я понимаю будет ресайзить 3000х2000 до нужно размера + можно ограничить макс размер
tezro
slav0nic
ThumbnailField с extra_thumbnails на сколько я понимаю будет ресайзить 3000х2000 до нужно размера + можно ограничить макс размер
Всё так. Ресайзится оргомный оригинал в несколько превью. Но оргомный оригинал всё равно присутствует…
Ferroman
Можно переопределить save к модели, и там удалять оригинал.
def save(self):
super(ModelName, self).save()
#удаляем оригинал
Только не надо делать thumbnail_cleanup, иначе он не найдёт оригинал и поуничтажает нагенерённые копии.
tezro
Ferroman
Можно переопределить save к модели, и там удалять оригинал.
def save(self):
super(ModelName, self).save()
#удаляем оригинал
Только не надо делать thumbnail_cleanup, иначе он не найдёт оригинал и поуничтажает нагенерённые копии.
Не не, это понятно. Удалять не надо. Я вот думаю, может ресайзить руками оригинал под скажем 2000х3000, удалять оригинал и переименовывать ресайз. Ну просто 20 фотографий по 5-10 мб это уже много… Да и не нужны оригиналы на серваке.
Ferroman
В чем ThumbnailField не угодил?
ThumbnailField resizes the source image before saving.
tezro
Ferroman
В чем ThumbnailField не угодил?
ThumbnailField resizes the source image before saving.
Ресайзит перед сохранением… и?
Сделает 2 файла: source.jpg и source_300x200.jpg.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB