django 静态文件未提供给 HTML-EMail 模板

django static files not served to HTML-EMail template

我是 运行 Django,在 Win7 主机上的本地 Vagrant arch 机器上。我在 .env 文件中设置了来自 Django 的环境变量。在我的应用程序中,所有静态文件均已正确提供,并且一切正常。

问题:我无法在我的 html-电子邮件模板中提供我的静态文件(图像)。到目前为止,我一直将它们作为硬编码文件管理器 URL 提供,我想改变这一点。

我正在传递 BASE_URL BASE_URL=http://127.0.0.1:8001,这被证明是有效的,作为模板的上下文并像往常一样加载静态:

{% load static %} 

并在 HTML 标签中调用它:

<img src="{{BASE_URL}}{% static 'img/my_image.png' %}">

在收到的电子邮件中,图像的 URL 是 http://127.0.0.1:8001/static/img/my_image.png,看起来正确但触发了 404。

我错过了什么??

(请不要问我图片是否在相应的文件夹中,是;)

正如@dentemm 所说:您的电子邮件服务提供商尝试从 http://127.0.0.1:8001/static/img/my_image.png but he cannot while address of your server is visible only from your local computer. Therefore images are not found. One way to solve this is to render template and take screenshot of template and send that in email body(to see if it renders properly) E.g. here 获取图像。

另一种方法是将 img 文件上传到一些可公开访问的服务器。