如何在自定义视图中使用 Django 默认密码重置机制?

How do I use Django default password reset mechanism into a custom view?

我的项目中有一些自定义注册逻辑,我希望它以这种方式工作:

  1. 有人使用特殊页面请求访问(已实现)
  2. User 已创建。 (已实施)
  3. 服务器使用 Django 的 send_mail 一次性使用 link 向密码设置页面发送一封电子邮件。 (尚未 实施)

使用 Django 的默认密码重置机制创建一次性 link and/or 密码重置令牌的最简单方法是什么?

您可以通过实现非常少的代码来创建所需的功能。

按照以下步骤操作:

  1. 使用 django 的 PasswordResetTokenGenerator class
  2. 注册用户时创建一个令牌
  3. 修改您的注册视图并将用户的 is_active 状态设置为 false 并向用户发送包含令牌的确认电子邮件 url 的电子邮件。
  4. 创建视图和 url 以在 he/she 单击电子邮件 link 并将 is_active 状态设置为 true
  5. 时处理用户的操作

您可以按照下面的 link 获取在 django 中实现确认电子邮件功能的精彩教程: https://medium.com/@frfahim/django-registration-with-confirmation-email-bb5da011e4ef