J4c*_*N1x 4 django static django-templates html-email django-cms
我在 Win7 主机上的本地 Vagrant arch 机器上运行 Django。我在 .env 文件中设置了来自 Django 的环境变量。在我的应用程序中,所有静态文件都正确提供,并且一切正常。
问题:我无法在我的 html 电子邮件模板中提供我的静态文件(图像)。到目前为止,我将它们作为硬编码的文件管理器 URL 提供,我想改变它。
我正在传递 BASE_URL BASE_URL=http://127.0.0.1:8001,它被证明是有效的,作为模板的上下文并像往常一样加载静态:
{% load static %}
Run Code Online (Sandbox Code Playgroud)
并在 HTML 标签中调用它:
<img src="{{BASE_URL}}{% static 'img/my_image.png' %}">
Run Code Online (Sandbox Code Playgroud)
在收到的电子邮件中,图像的 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获取图像, 但他不能,而您的服务器地址只能从您的本地计算机上看到。因此找不到图像。解决此问题的一种方法是渲染模板并截取模板的屏幕截图并将其发送到电子邮件正文中(以查看它是否正确渲染)例如此处。
另一种方法是将 img 文件上传到一些可公开访问的服务器。
| 归档时间: |
|
| 查看次数: |
1774 次 |
| 最近记录: |