我正在尝试让 Django 的密码重置功能正常工作,但重置电子邮件未能发送。
我知道我的电子邮件已正确配置,因为以下代码在 shell 和我的其中一个视图中都能正常工作(我用它来将支持电子邮件发送给自己)。
from django.core.mail import send_mail
send_mail('Subject here', 'Here is the message.',
'admin@mydomain.com',['me@gmail.com'], fail_silently=False)
我能够进入我的重置密码页面 (password/reset/),并在输入我的电子邮件后正确地重定向到password/reset/done/,但是它没有发送电子邮件。
这是我的urls.py
:
(r'^password/reset/$','django.contrib.auth.views.password_reset'),
(r'^password/reset/done/$','django.contrib.auth.views.password_reset_done'),
(r'^password/reset/confirm/$','django.contrib.auth.views.password_reset_confirm'),
(r'^password/reset/complete/$','django.contrib.auth.views.password_reset_confirm'),
(r'^password/change/$','django.contrib.auth.views.password_change'),
(r'^password/change/done/$','django.contrib.auth.views.password_change_done'),
这是我的password_reset_form.html
:
<html>
<head>
<link rel="stylesheet" type="text/css" href="/media/css/style_login.css" />
<title>Información de acceso requerida</title>
</head>
<body>
<div id="wrapper">
<h1>Recuperar password</h1>
<p>Utilice este formulario cuando desee recuperar el password para su usuario.</p>
{% if form.errors %}
<p>No hay un usuario registrado con ese correo electronico.</p>
{% endif %}
<form method="post" action="{% url django.contrib.auth.views.password_reset_done %}">
{% csrf_token %}
{{ form }}
<input class="login" type="submit" value="Recuperar" />
</form>
</div>
</body>
有任何想法吗?谢谢。