#python #django #watermark #copyright-display
#python #django #водяной знак #авторское право-отображение
Вопрос:
Я создаю сайт со стоковыми фотографиями. Мне нужно временно добавить водяной знак при отображении в шаблоне django, чтобы пользователь не мог загрузить оригинальную фотографию без покупки. Я пробовал django-watermark, но получил ошибку при миграции. python 3.8 и django 3.1.3
До сих пор я перекрывал изображения, используя этот код,
water_mark_image = Image.open(settings.MEDIA_ROOT '/water.png')
water_mark_image = wat.resize((int(im.width/2), int((im.width/2)*(h/w))))
Original_image.paste(wat, (int((im.width-wat.width)/2), int((im.height-wat.height)/1)), mask=wat)
но при загрузке изображение поставляется вместе с водяным знаком. Я не хочу сохранять дубликат изображения. Пожалуйста, предложите мне способ временного добавления водяного знака при детальном отображении.
Комментарии:
1. Если вы не хотите сохранять дубликат, я полагаю, вы хотели бы «создавать» новое изображение каждый раз, когда пользователь просматривает изображение, которое он / она не покупал? Поэтому вам нужно изменять существующее изображение при каждом запросе. Для меня это звучит как операция с интенсивным использованием процессора. Если вы действительно этого хотите, получите объект и перед рендерингом страницы сохраните его в памяти и внесите туда изменения. Затем отправьте его на свою страницу. Опять же, я бы просто сделал дубликат, который можно кэшировать и извлекать при каждом вызове. Гораздо более производительный.
2. Хорошо. Каков правильный метод и как его достичь? для python3 и django3