【发布时间】:2017-08-30 16:39:03
【问题描述】:
我在 Win7 主机上的本地 Vagrant arch 机器上运行 Django。我在 .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。
我错过了什么??
(请不要问我图片是否在相应的文件夹中,它是;)
【问题讨论】:
-
您的网站在本地虚拟机上运行,但您的电子邮件正在发送到“外部”。在你的虚拟机之外,本地 127.0.0.1 url 是没用的。
-
最好有一个主机名并将主机名映射从您的
/etc/hosts文件设置为127.0.0.1
标签: django static django-templates html-email django-cms