Python Django生成的电子邮件不';渲染不好

Python Django生成的电子邮件不';渲染不好,python,html,django,django-forms,Python,Html,Django,Django Forms,我正试图修改django注册的密码rest表单,以包含一个超链接。我在激活_email.html时使用了完全相同的代码,但密码_reset_email.html不起作用。生成的电子邮件正在打印所有html标记,如。我错过了什么 下面是密码_reset_email.html的代码: {% load i18n %} <!doctype html> <html lang="en"> {% blocktrans %}Hello,{% endblocktrans %} {% b

我正试图修改django注册的密码rest表单,以包含一个超链接。我在激活_email.html时使用了完全相同的代码,但密码_reset_email.html不起作用。生成的电子邮件正在打印所有html标记,如。我错过了什么

下面是密码_reset_email.html的代码:

{% load i18n %}
<!doctype html>
<html lang="en">

{% blocktrans %}Hello,{% endblocktrans %}

{% blocktrans %}
To reset your password, please click the following link:
{% endblocktrans %}
<body>
    <p> 
        <a href="http://{{site.domain}}{% url 'auth_password_reset_confirm' uid token %}">
            Reset password
        </a>
    </p>
</body>
{% blocktrans %}
If you do not wish to reset your password, please ignore this message.
{% endblocktrans %}

{% blocktrans %}Thanks,{% endblocktrans %}
{% blocktrans %}Management Team{% endblocktrans %}


{# This is used by django.contrib.auth #}
{%loadi18n%}
{%blocktrans%}您好,{%endblocktrans%}
{%blocktrans%}
要重置密码,请单击以下链接:
{%endblocktrans%}

{%blocktrans%} 如果您不想重置密码,请忽略此消息。 {%endblocktrans%} {%blocktrans%}谢谢,{%endblocktrans%} {%blocktrans%}管理团队{%endblocktrans%} {#这由django.contrib.auth使用#}
下面是激活代码_email.html,以供比较。这将生成正确的结果

{% load i18n %}
<!doctype html>
<html lang="en">

<head>
    <title>{{ site.name }} {% trans "registration" %}</title>
</head>

<body>
<p>
    {% blocktrans with site_name=site.name %}
    Hello!
</p>

<p>
    We're ready to activate your account. All we need to do is make sure this is your email address.
    {% endblocktrans %}
</p>    

<p> 
    <a href="http://{{site.domain}}{% url 'registration_activate' activation_key %}">
        Confirm email
    </a>
</p>
<p>
    {% blocktrans %}
    If you didn't create a account, please just delete this email.
    {% endblocktrans %}

</p>
</body>

</html>
{%loadi18n%}
{{site.name}{%trans“注册”%}

{%blocktrans与site_name=site.name%}
你好

我们已准备好激活您的帐户。我们需要做的就是确认这是你的电子邮件地址。 {%endblocktrans%}

{%blocktrans%} 如果您没有创建帐户,请删除此电子邮件。 {%endblocktrans%}


听起来电子邮件是以文本形式发送的。确保您使用的任何方法都是以html格式发送的


如果您使用的是来自
django.core.mail
send\u mail
,那么除了
message
之外,您还需要提供
html\u message
参数,这听起来像电子邮件是以文本形式发送的。确保您使用的任何方法都是以html格式发送的


如果您使用的是来自
django.core.mail
send_mail
,那么除了
message

之外,您还需要提供
html_message
参数,我认为django注册可能使用django默认密码模板。(同样是关于form.email工作原理的文档)。有没有一个地方我应该指定这个?我刚刚明白你的意思。我把我的url改成这个。这是你想要的吗?url(r“^password/reset/$”,auth_views.password_reset,{'html_email_template_name':'registration/password_reset_email.html','post_reset_redirect':reverse_lazy('auth_password_reset_done'),name='auth_password_reset'),现在html电子邮件没有收到{{{site.domain}. 您知道如何解决这个问题吗?实际上,django注册在默认情况下不支持html电子邮件:您可能需要修改它的模型,如下面的回答所示:site.domain可能需要在视图中显式设置,并传递给模板(如果它不接收它)。您可以扩展任何内置视图来完成此操作。非常感谢您的帮助。奇怪的是,激活电子邮件已经以html的形式发送(正如上面提到的我的激活html一样)。然而,密码重置似乎使用了一些默认的django模板,我看不到文档。在这种情况下我该怎么办?我没有定义和视图或表单以便修改。我认为django注册可能使用django默认密码模板。(同样是关于form.email工作原理的文档)。有没有一个地方我应该指定这个?我刚刚明白你的意思。我把我的url改成这个。这是你想要的吗?url(r“^password/reset/$”,auth_views.password_reset,{'html_email_template_name':'registration/password_reset_email.html','post_reset_redirect':reverse_lazy('auth_password_reset_done'),name='auth_password_reset'),现在html电子邮件没有收到{{{site.domain}. 您知道如何解决这个问题吗?实际上,django注册在默认情况下不支持html电子邮件:您可能需要修改它的模型,如下面的回答所示:site.domain可能需要在视图中显式设置,并传递给模板(如果它不接收它)。您可以扩展任何内置视图来完成此操作。非常感谢您的帮助。奇怪的是,激活电子邮件已经以html的形式发送(正如上面提到的我的激活html一样)。然而,密码重置似乎使用了一些默认的django模板,我看不到文档。在这种情况下我该怎么办?我没有定义要修改的视图或表单。