问题描述
嘿全能的 Stackoverflow,
我是 Django 的新手,我需要编写一个 HTML 电子邮件模板,其中包括社交媒体图标,同时也是超链接。在预览中一切正常,但是当通过电子邮件发送时,只会出现“broken-Image”图标。 图像位于 Django 模块的静态文件中,也位于主应用程序的 static.dist 目录中。几周前,它起作用了,但经过一些暂停和昨天的新测试后,图像坏了。
{% static 'ner_mail/YouTube.png' as yt_icon %}
{% with 'target="blank" href="https://www.youtube.com/URL"'|safe as a_attr %}
{% blocktrans %}
<a {{ a_attr }} > <img src="{{ yt_icon }}" alt="" style="alignment: left;vertical-align:middle; width: 30px; padding-right: 5px" ></a>
<a {{ a_attr }}> Social Media {% endblocktrans %}
{% endwith %}</li>
有人可以帮助我吗?预先感谢您的任何帮助! 最好的问候,
解决方法
static
模板标签提供了一个 相对 网址,因此当您在电子邮件中发送该网址时,用户的浏览器会假定它与用户所在的当前网站相关({ {1}}(如果假设用户在那里打开了他们的电子邮件)。因此你想呈现一个绝对网址。为此,您可以使用 request.scheme
[Django docs] 和 request.get_host
[Django docs]:
gmail.com