Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python/Django:未呈现电子邮件模板。显示html标记,不显示';t转换实体_Python_Django_Email_Django Templates - Fatal编程技术网

Python/Django:未呈现电子邮件模板。显示html标记,不显示';t转换实体

Python/Django:未呈现电子邮件模板。显示html标记,不显示';t转换实体,python,django,email,django-templates,Python,Django,Email,Django Templates,我使用模板发送电子邮件,但模板未正确呈现。它显示html标记,不呈现特殊字符 它确实呈现了上下文,例如,如果我给它提供了一个“username”:那么当我执行{{username}时,它将正确地显示用户名 my_template.html: <p>hello &oslash;</p> 收到的电子邮件将显示p标记。此外,实体与模板中所写的完全相同。我只需要使用一个.txt文件就可以了,只是我需要渲染特殊的字符。如果我直接在txt文件中写入它们,则在尝试发送时会出现

我使用模板发送电子邮件,但模板未正确呈现。它显示html标记,不呈现特殊字符

它确实呈现了上下文,例如,如果我给它提供了一个“username”:那么当我执行{{username}时,它将正确地显示用户名

my_template.html:

<p>hello &oslash;</p>
收到的电子邮件将显示p标记。此外,实体与模板中所写的完全相同。我只需要使用一个.txt文件就可以了,只是我需要渲染特殊的字符。如果我直接在txt文件中写入它们,则在尝试发送时会出现错误


我还尝试使用django的send_mail()。还将向模板添加html标记。同样的结果

多部分/备选电子邮件有两部分:

  • 电子邮件的纯文本版本
  • 电子邮件的html版本
  • 所以在这里你只需要做#2并添加html部分

    按照这里的例子。。。您可能只需要在msg.send()之前添加这样一行`


    多部分/备选电子邮件由两部分组成:

  • 电子邮件的纯文本版本
  • 电子邮件的html版本
  • 所以在这里你只需要做#2并添加html部分

    按照这里的例子。。。您可能只需要在msg.send()之前添加这样一行`


    是的,加上那句话就成功了。没有必要像参考示例中那样提供实际的文本备选方案。谢谢。我也有同样的问题。我应该在哪里加上那一行?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")