Django-обрезка изображений + easy_thumbnails + django-watermarker
Кто-нибудь пробовал использовать все эти функции вместе? Я могу объединить только любые 2 из них вместе, но не могу понять, как использовать все 3, и я определенно нуждаюсь в этом. Я хочу, чтобы от администратора было сделано бесплатное кадрирование (чтобы выбрать, какая часть изображения будет отображаться в результате), чтобы оно было помечено водяными знаками, и использовали псевдоним для миниатюр, чтобы изменить его размер или сжать с помощью простых миниатюр.
Это должно быть что-то вроде этого:{% cropped_thumbnail Event.photo.pure_events_list.url|watermark:"General watermark" "cropping_free" %}
Куда:pure_events_list
псевдоним миниатюр для простых миниатюр|watermark:"General watermark"
фильтр для получения изображения с водяным знаком по URL и возврата нового URL с изображением с водяным знаком
Заранее благодарю за любую помощь!
2 ответа
Проверьте этот модуль на наличие easy_thumbnails. https://pypi.python.org/pypi/django-easy-thumbnails-watermark/0.6.2 PS Если вы используете python 3, необходимо адаптировать несколько строк в модуле.
Вы должны создать новый тег шаблона:
from image_cropping.templatetags.cropping import cropped_thumbnail
from watermarker.templatetags.watermark import watermark
@register.simple_tag(takes_context=True)
def cropped_watermarked_thumbnail(context, instance, ratiofieldname, **kwargs):
watermark_params = kwargs.pop('watermark', '')
cropped_image_url = cropped_thumbnail(context, instance, ratiofieldname, **kwargs)
return watermark(cropped_image_url, watermark_params)
И используйте это в своем шаблоне:
<img src="{% cropped_watermarked_thumbnail product 'crop' scale=1 upscale=True watermark='Watermark,position=C,opacity=100' %}">