You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django HTML格式邮件无法正确渲染内容问题求助

问题分析与解决
  • 第一种情况(仅显示1条域名):
    你用'\n'.join(d)拼接域名后替换到HTML模板里,但HTML不识别普通的\n换行符,只会把它当成空格,两条域名会连在一起显示成一行,看起来像只有1条。如果你的d是包含HTML结构的片段列表,这种简单拼接也可能破坏标签结构,导致显示异常。

  • 第二种情况(丢失HTML结构):
    应该是你直接把列表d传入了format方法(比如html.format(d)),Python会自动把列表转换成字符串形式(比如['domain1.com', 'domain2.com']),这些符号会被HTML当成普通文本显示,自然丢失了原本的HTML结构。

正确处理方式
  1. 先把每个域名转换成符合HTML结构的片段,比如做成列表形式:
# 假设d是域名列表,示例:d = ["domain1.com", "domain2.com"]
domain_items = [f"<li>{domain}</li>" for domain in d]
domain_html = "<ul>" + "".join(domain_items) + "</ul>"
  1. 在HTML模板里预留对应的占位符,比如:
<p>以下是需要提醒的域名:</p>
{}
  1. 最后用format完成替换:
html = html.format(domain_html)

这样既能保证多条域名正确显示,又不会丢失HTML结构。

内容的提问来源于stack exchange,提问作者josephcvh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 02:42:14