Django 邮件 HTML 格式无效
我最近刚开始学习Python和Django,这个项目是为了给公司添加一个提醒/通知功能,通过发送邮件来实现。
我遇到了一个问题,就是我无法正确显示带有值的HTML。
如果我把代码改成html = html.format('\n'.join(d))
,它只会显示一个值,而实际上应该有两个值,另一个值就没显示出来。
如果我使用下面的代码,它会显示两个值,但HTML部分却缺失了。
我到底漏掉了什么呢?
html = """\
<html>
<head></head>
<body>
<p>Hi Team,<br><br>
Reminder:<br>
Please check if Domain listed below need to be renewed.<br><br>
{0}
</p>
</body>
</html>
"""
www = get_data_from_db()
week_old = 14
d = []
for domain in www:
days = compute_days(domain)
if int(days) <= int(week_old):
d.append("{0} is expiring in {1} days.<br>".format(domain, days))
print(d)
html = ('\n'.join(d))
print(html)
part2 = MIMEText(html, 'html')
msg.attach(part2)
1 个回答
0
经过几次修改,我终于得到了想要的结果。下面是我所做的修改。
html_body = """\
<html>
<head></head>
<body>
<p>Hi Team,<br><br>
name below expiring soon:<br><br>
"""
html_close = """\
<br>
<p>Regards<br>
</p>
</body>
</html>
"""
www = get_data_from_db()
for domain in www:
d = []
week_old = 14
days = compute_days(domain)
if int(days) <= int(week_old):
d.append("{0} is expiring in {1} days.<br>".format(domain, days))
print(d)
html1 = (''.join(d))
html_body = html_body + html1
print(html_body)
html = html_body + html_close
part2 = MIMEText(html, 'html')
msg.attach(part2)