Django发送带有图片的HTML电子邮件

问题描述 投票:4回答:2

我正在尝试发送包含django 1.3中图像的HTML电子邮件,但是我的图像未加载。以下是我的观点。py

email_data = {
# Summary data
'user_name':user_name,
'points':user.numOfPoints,
}
email_data = RequestContext(request, email_data)
t = get_template('user_email.html')
content = t.render(email_data)
msg = EmailMessage(subject='User Email', content, '[email protected]', ['[email protected]'])
msg.content_subtype = "html"
msg.send()

我的模板('user_email.html')如下所示>>

<html>
<body>
Hello {{user_name}},
Your point score is: {{points}}
Thank you for using our app.
<img src="{{ STATIC_URL }}images/footer.jpg" alt="" />
<body>
</html>

图像位于我的应用程序文件夹的static / image文件夹内。但是当收到电子邮件时,它没有图像。

在我的settings.py中,我有以下内容

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.contrib.auth.context_processors.auth',
    'django.core.context_processors.debug',
    'django.core.context_processors.i18n',
    'django.core.context_processors.media',
    'django.core.context_processors.static',
    'django.contrib.messages.context_processors.messages',
)
STATIC_URL = '/static/'

请回复我所缺少的内容?

谢谢,

我正在尝试发送包含django 1.3中图像的HTML电子邮件,但是我的图像未加载。以下是我的view.py email_data = {#摘要数据'user_name':user_name,'points':user.numOfPoints,} ...

html django email templates static
2个回答
3
投票

您需要指定完整的STATIC_URL,例如http://localhost:8000/static/。现在,消息指向/static/images/footer.jpg,这不是有效的URL。


3
投票

正如漫游所提到的,您缺少主机名+端口。

© www.soinside.com 2019 - 2024. All rights reserved.