Форум сайта python.su
В общем, есть такая вешь как sorl-thumbnail - http://thumbnail.sorl.net/docs/
Для тех, кто не знаком, потому как в форуме ни одного упоминания, поясню - это приложение для джанго, которое на базе ImageField создаёт несколько типов полей для работы с изображениями, упрощая создание и кеширование изображений, файлов и превью к ним.
Надежды на ответ мало :) Но я попробую…
Есть поле ThumbnailField - http://thumbnail.sorl.net/docs/#thumbnailfield Сохраняет изображение и превью к нему, изменяя его размеры.
Есть поле ImageWithThumbnailsField - http://thumbnail.sorl.net/docs/#imagewiththumbnailsfield Сохраняет исходное изображение, превью к нему и, по желанию, несколько дополнительных миниатюр.
Вопрос: а как мне из загруженного в админке файла сделать 3 миниатюры (большую, среднюю, маленькую) не сохраняя оригинал. Кстати, если кто-то знает другое решение, а не набазе этого приложения, будет здорово.
Отредактировано (Дек. 24, 2009 00:33:05)
Офлайн
Перезагрузка метода save(self) не подходит, так как джанга пляшет от имени оригинала, таки образом, сохраняя несколько изображений на диске сохранится 1 оригинал и N превьюшек - каждый раз при сейве на диске не будет оригинала.
Офлайн
это не есть правильно, все приложения такого плана сохраняют оригинал, ибо если ты захочешь новые тумбы добавить, то с чего ты их будешь генерить как не с оригинала) + эти аппы могут генерить “по вызову”, а не сразу, что опять таки требует наличие оригинала.
ThumbnailField имеет extra_thumbnails параметр
Офлайн
slav0nicЛогично. Принято.
…захочешь новые тумбы добавить, то с чего ты их будешь генерить как не с оригинала) + эти аппы могут генерить “по вызову”, а не сразу, что опять таки требует наличие оригинала.
slav0nic
ThumbnailField имеет extra_thumbnails параметр
tezroЯ просто волнуюсь, что файлы с разрешением 3000х2000 засрут хостинг. Но, окей.
…превью к нему и, по желанию, несколько дополнительных миниатюр.
Офлайн
ThumbnailField с extra_thumbnails на сколько я понимаю будет ресайзить 3000х2000 до нужно размера + можно ограничить макс размер
Офлайн
slav0nicВсё так. Ресайзится оргомный оригинал в несколько превью. Но оргомный оригинал всё равно присутствует…
ThumbnailField с extra_thumbnails на сколько я понимаю будет ресайзить 3000х2000 до нужно размера + можно ограничить макс размер
Офлайн
Можно переопределить save к модели, и там удалять оригинал.
def save(self):Только не надо делать thumbnail_cleanup, иначе он не найдёт оригинал и поуничтажает нагенерённые копии.
super(ModelName, self).save()
#удаляем оригинал
Офлайн
FerromanНе не, это понятно. Удалять не надо. Я вот думаю, может ресайзить руками оригинал под скажем 2000х3000, удалять оригинал и переименовывать ресайз. Ну просто 20 фотографий по 5-10 мб это уже много… Да и не нужны оригиналы на серваке.
Можно переопределить save к модели, и там удалять оригинал.def save(self):Только не надо делать thumbnail_cleanup, иначе он не найдёт оригинал и поуничтажает нагенерённые копии.
super(ModelName, self).save()
#удаляем оригинал
Офлайн
В чем ThumbnailField не угодил?
ThumbnailField resizes the source image before saving.
Офлайн
FerromanРесайзит перед сохранением… и?
В чем ThumbnailField не угодил?ThumbnailField resizes the source image before saving.
Офлайн