使用django发送电子邮件不显示HTML格式和样式

时间:2014-08-03 21:27:56

标签: django email html-email

您好我想以 html5 / bootstrap 格式发送包含订单确认的电子邮件,但我收到的电子邮件没有风格。

我附加了用html5和bootstrap3标签编写的html模板。

观点是:

plaintext = get_template('shopcart/email_compra.txt')// I dont think this is necessary
htmly     = get_template('shopcart/email.html')
customer_data = userData.objects.get(user=o.customer)
d = Context({ 'username': user, 'cart': cart, 'order':o, 'customer':customer_data })
subject = 'Your order'
text_content = plaintext.render(d) // I dont think this is necessary
html_content = htmly.render(d)
msg = EmailMultiAlternatives(subject, text_content, from_email, [user.email])
msg.attach_alternative(html_content, "text/html")
msg.send()

电子邮件与html内容一起发送,但没有格式(这导致例如订单缺少列) 感谢

1 个答案:

答案 0 :(得分:1)

当您渲染html尝试为静态文件提供完整路径时,这很简单。

如果你想在我的电子邮件中访问bootstrap,请使用完整路径。在我的情况下,我已将http://localhost:8000保存在名为site的上下文变量中,并在模板中呈现,如下所示。

<link rel="stylesheet" type="text/css" href="{{site}}{% static 'css/bootstrap.css' %}">

它将提供所有静态文件,包括css,js和图像。