我正在Django中创建一个密码重置功能。我想选择一个自定义电子邮件(以HTML格式)。我找不到任何文档,我认为我的文件完全错误,但是我真的不知道Django的电子邮件服务如何工作。我猜是其他人对stackoverflow的疑问。
这是我的文件:
urls.py:
urlpatterns = [
path('reset', auth_views.PasswordResetView.as_view(template_name='authenticate/reset.html'), {
'template_name': 'email/test.html',
'html_email_template_name': 'email/test.html',
'email_template_name': 'email/test.txt',
'subject_template_name': 'email/test.txt',
}, name='password_reset'),
path('reset/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.as_view(), name='password_reset_confirm'),
path('reset/done', auth_views.PasswordResetDoneView.as_view(template_name='authenticate/reset_done.html'), name='password_reset_done'),
]
test.html:
<html style="font-family:sans-serif;margin:0;padding:0;">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>E-Mail</title>
</head>
<body>
<header style="background-color:#fff;">
<div class="navbar-container">
<div class="navbar-branding" style="margin:0;">
<p style="margin:0;">Logo</p>
</div>
</div>
</header>
<div style="background-color:#f0f0f0;padding-left:10vw;padding-right:10vw;padding-top:200px;min-height:50vh;">
<div style="background-color:#fff;color:#aaa;">
<table style="margin:auto;color:#aaa;padding: 20px;">
<th>
<h1>{% block subject %}{% endblock %}</h1>
<p>{% block body %}{% endblock %}</p>
</th>
</table>
</div>
</div>
{% include 'template/footer.html' %}
</body>
</html>
test.txt:
{% block subject %}
Password reset
{% endblock %}
{% block body %}
Reset your password <a href="{{ site_name }}">here</a>.
{% endblock %}