在HTML电子邮件Django中显示内嵌图像

时间:2014-10-10 17:29:37

标签: python django html-email

我正在尝试在发送HTML电子邮件时在Djano中内嵌显示图像。我有HTML电子邮件工作。但是图像显示为附件,我按照https://www.vlent.nl/weblog/2014/01/15/sending-emails-with-embedded-images-in-django/中的步骤将图像显示为附件。我不想要的。我希望图像以内联方式显示。

在我的Django模板中,我有:

<img src="/static/url/location/image.png" />

urls.py的设置正确。当我去:

http://localhost:8000/static/url/location/image.png 

我可以清楚地看到图像。

发送电子邮件时,图像不会显示,我不知道原因。任何帮助都非常感谢。

我正在使用Django 1.6.2顺便说一句。

编辑:实施以下关于使用绝对URL的建议。 我确实尝试过绝对URL。奇怪的是:当我使用其他网站的绝对网址时,例如:

<img src="google.com/images/srpr/logo11w.png"; />  

图像以内嵌方式显示。当我在本地服务器上使用图像的绝对URL位置时,图像不会显示:-(。不确定我还缺少什么。

1 个答案:

答案 0 :(得分:1)

您可能需要服务器上的图像的绝对URL。据我所知,无法在电子邮件中引用相关图像。

您可以为当前主机的绝对网址执行此操作:

<img src="{{ request.get_host }}/static/url/location/image.png" />

您也可以从使用{% static %}标记中受益,(如果您正确配置了静态文件),如下所示:

<img src="{{ request.get_host }}{% static 'url/location/image.png' %}" />