我正在使用Django Build
PasswordResetView类。
我在设置中使用Django File backend
。我试图重置现有帐户的密码,django返回成功,但仍然没有发送电子邮件。
以下是供参考的代码:
settings.py
EMAIL_BACKEND = 'django.core.mail.backends.filebased.EmailBackend'
EMAIL_FILE_PATH = os.path.join(BASE_DIR,'sent_emails')
views.py
class MyPasswordReset(PasswordResetView):
email_template_name = 'email/forgot_password.html'
form_class = ForgotPassword
from_email = 'admin@crud.com'
success_url = reverse_lazy('users:password_reset_done')
form.py
class ForgotPassword(PasswordResetForm):
email = forms.EmailField(widget=forms.EmailInput(attrs=
{'class': 'form-control', 'title': 'Enter Email', 'placeholder': 'Email'}),
max_length=50, label=False, required=True,
)
密码重置电子邮件模板
电子邮件/ forgot_password.html
you forgot your password!! Sample Email
完整参考代码: https://github.com/deepak1725/basicCrud/tree/dk-signup/users
答案 0 :(得分:3)
经过深入分析后我发现,我正在auth用户表的用户名字段中存储电子邮件。
因此,在使用内置重置密码视图时,它在电子邮件字段上按数据库查询,因此电子邮件字段为空。因此,返回的结果为null,因此不会处理电子邮件发送。