Переменная шаблона электронной почты, проблема с атрибутом image sr c в gmail (в Django) - PullRequest
0 голосов
/ 09 июля 2020

У меня возникла эта проблема, и я встречал похожие вопросы, но не могу найти точного решения. У меня есть сайт электронной торговли (набран Django), и я отправляю письмо с подтверждением заказа с изображением продукта. Изображение продукта меняется в зависимости от продукта, который покупает клиент, и все изображения размещаются на aws s3 и публикуются c.

Я тестирую приложение, и оно работает в ma c приложение электронной почты, в браузере, когда я проверяю свою учетную запись Gmail, изображение продукта не отображается. Все остальные изображения (также размещенные на aws s3, в той же корзине) без проблем отображаются в электронном письме.

Проблема вызвана какой-то обработкой Gmail, потому что я заполняю sr c атрибут в шаблоне электронной почты программно ({{product.get_image_url}}), но gmail добавляет несколько дополнительных символов, так что последняя часть ссылки sr c выглядит так: /% 0D% 09% 09% 096- bottle -img.png вместо /6-bottle-img.png

Остальная часть длинной ссылки (первая часть) верна.

Итак, может кто подскажет мне, что здесь делает Gmail? В моем почтовом приложении ma c все выглядит хорошо! Нет плохого обращения со ссылкой. Я предполагаю, что это связано с синтаксисом шаблона Django, поскольку Gmail не любит "{{" перед переменной. Если я жестко закодирую это с полной ссылкой aws s3 для атрибута sr c, все будет работать нормально.

Какое хорошее решение для этого? Я буду реализовывать все больше и больше продуктов, поэтому я не могу жестко закодировать ссылку.

Спасибо, Витторио

1 Ответ

1 голос
/ 09 июля 2020

я думаю, вам не нужен docstring и просто используйте двойные кавычки строку

обратитесь к этой теме о том, когда использовать строки документации https://writing.stackexchange.com/questions/33489/when-documenting-python-when-should-i-use-docstrings-and-when-should-i-use-comm

измените вашу функцию

output = '''https://**************/{}-bottle-img.png'''.format(self.number_of_bottles

на

output = "https://**************/{}-bottle-img.png".format(self.number_of_bottles

дайте мне знать, если это решит вашу проблему с super-flue blan c символов

...