Python/Django:未呈现电子邮件模板。显示html标记,不显示';t转换实体
我使用模板发送电子邮件,但模板未正确呈现。它显示html标记,不呈现特殊字符 它确实呈现了上下文,例如,如果我给它提供了一个“username”:那么当我执行{{username}时,它将正确地显示用户名 my_template.html:Python/Django:未呈现电子邮件模板。显示html标记,不显示';t转换实体,python,django,email,django-templates,Python,Django,Email,Django Templates,我使用模板发送电子邮件,但模板未正确呈现。它显示html标记,不呈现特殊字符 它确实呈现了上下文,例如,如果我给它提供了一个“username”:那么当我执行{{username}时,它将正确地显示用户名 my_template.html: <p>hello ø</p> 收到的电子邮件将显示p标记。此外,实体与模板中所写的完全相同。我只需要使用一个.txt文件就可以了,只是我需要渲染特殊的字符。如果我直接在txt文件中写入它们,则在尝试发送时会出现
<p>hello ø</p>
收到的电子邮件将显示p标记。此外,实体与模板中所写的完全相同。我只需要使用一个.txt文件就可以了,只是我需要渲染特殊的字符。如果我直接在txt文件中写入它们,则在尝试发送时会出现错误
我还尝试使用django的send_mail()。还将向模板添加html标记。同样的结果 多部分/备选电子邮件有两部分:
多部分/备选电子邮件由两部分组成:
是的,加上那句话就成功了。没有必要像参考示例中那样提供实际的文本备选方案。谢谢。我也有同样的问题。我应该在哪里加上那一行?Grepping虽然我所有的代码和django代码我都没有看到任何msg.send.ohh msg是特定于提供的示例代码user984003的,但是您应该将_alternative附加到您的EmailMultiAlternatives对象所在的位置,我想是的,添加该行起到了作用。没有必要像参考示例中那样提供实际的文本备选方案。谢谢。我也有同样的问题。我应该在哪里加上那一行?Grepping虽然我所有的代码和django代码都没有看到任何msg.send.ohh msg是特定于提供的示例代码user984003的,但我想您应该将_alternative附加到EmailMultiAlternatives对象所在的位置
from django.core.mail import EmailMultiAlternatives
from django.template.loader import get_template
from django.template import Context
t = get_template('my_template.html')
msg = EmailMultiAlternatives("hi", t.render(Context({})), from_email, [user.email])
msg.send()
msg.attach_alternative(t.render(Context({})), "text/html")