在django中忘记密码

Posted

技术标签:

【中文标题】在django中忘记密码【英文标题】:Forgot password in django 【发布时间】:2015-05-17 11:52:33 【问题描述】:

我试图在我的 django 站点中执行忘记密码功能。 我的 settings.py 是:

 EMAIL_USE_TLS = True
 EMAIL_HOST = 'smtp.gmail.com'
 EMAIL_PORT = 587
 EMAIL_HOST_USER = 'email@gmail.com'                        #sample
 EMAIL_HOST_PASSWORD = 'password'
 DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
 SERVER_EMAIL = EMAIL_HOST_USER

我的 urls.py 是:

url(r'^user/password/reset/$',
    'django.contrib.auth.views.password_reset',
    'post_reset_redirect' : '/user/password/reset/done/',
    name="password_reset"),
url(r'^user/password/reset/done/$',
    'django.contrib.auth.views.password_reset_done'),
url(r'^user/password/reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$',
    'django.contrib.auth.views.password_reset_confirm',
    'post_reset_redirect' : '/user/password/done/'),
url(r'^user/password/done/$',
    'django.contrib.auth.views.password_reset_complete'),

我关注了this site,模板显示在那里。 当我输入电子邮件 ID 时,它显示它已邮寄。但我没有收到任何电子邮件。

我在控制台尝试过:

>>> from django.core.mail import EmailMessage
>>> email = EmailMessage('Subject', 'Message', to=['example@example.com'])
>>> email.send()
1

我收到了电子邮件.. 帮帮我..

【问题讨论】:

你能告诉你如何配置你的EMAIL_BACKEND 吗? 我不知道。可能是默认的.. 您是否向尝试恢复密码的用户提供了有效的电子邮件地址? 是的.. 我使用了一个有效的电子邮件地址 【参考方案1】:

请检查您的“email@gmail.com”电子邮件 ID 的收件箱,可能有一封新电子邮件询问您是否允许发送电子邮件。

【讨论】:

以上是关于在django中忘记密码的主要内容,如果未能解决你的问题,请参考以下文章

忘记了 django 和 graphql 的密码?

向 Django 2.1 管理站点添加忘记密码功能

如何覆盖默认的 django 忘记密码模板?

django 开发忘记密码通过邮箱找回功能

Django通用类视图实现忘记密码重置密码功能

使用 ReactJS 实现忘记密码/电子邮件验证 django rest