【问题标题】:Django Djoser: Email address resetDjango Djoser:电子邮件地址重置
【发布时间】:2020-02-03 12:18:18
【问题描述】:

我正在使用用户名进行主要识别。但是,用户也有电子邮件地址。我想知道如何设置“电子邮件地址重置”,以便用户可以更改他们的电子邮件地址。这个功能对我来说似乎很明显,但我没有找到任何东西 - 我是否遗漏了什么或者我的方法不正确?

哦,我想保持用户名不变,我只是想让通过确认等更改电子邮件成为可能。我认为首先将电子邮件发送到新地址然后才更改是很重要的它。

任何帮助将不胜感激。提前谢谢你。

【问题讨论】:

  • 您是否已经配置了 smtp 服务器?
  • 嘿,阿明。我已成功配置密码重置和帐户激活。问题是我不知道 Djoser 是否支持此电子邮件重置。当然,我可以对其进行逆向工程,但据我所见并非如此。逻辑告诉我,如果你真的无法重置你的电子邮件,那么这是一个巨大的缺陷。这就是为什么我认为应该有一些东西。如果没有,我想我将不得不自己实现它。我也考虑过(可能会创建一个拉取请求,IDK)

标签: django django-rest-framework email-address djoser


【解决方案1】:

首先我建议您观看这个很棒的 Djoser 教程Django Rest Framework Authentication Crash Course 然后您需要使用您的 gmail API 或 sendgrid API 设置您的电子邮件配置。这是您需要放入设置中的示例代码

对于 gmail

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_USE_TLS = True
EMAIL_USE_SSL = False
EMAIL_PORT = 587
EMAIL_HOST_USER = 'your email address@gmail.com'
EMAIL_HOST_PASSWORD = 'gmail API Key (password)'

REST implementation of Django authentication system复制模板 然后在设置中添加您的html,如下所示

'PASSWORD_RESET_CONFIRM_URL': 'password_changed_confirmation/password/reset/confirm/{uid}/{token}',
    'USERNAME_RESET_CONFIRM_URL': 'username_changed_confirmation/username/reset/confirm/{uid}/{token}',
    'ACTIVATION_URL': 'activation/activate/{uid}/{token}',
    'SEND_ACTIVATION_EMAIL': True,
    'SERIALIZERS': {},

希望这会有所帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-23
    • 2021-02-14
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 2019-12-17
    • 2012-04-08
    相关资源
    最近更新 更多