django-allauth:重置密码电子邮件,发送密钥而不是链接?

时间:2021-07-28 09:12:27

标签: django django-allauth

使用 django-allauth,要更改密码,用户转到 /password/reset/ 并输入电子邮件地址并确认(之后用户被重定向到 /password/reset/done/)。然后用户会收到一封电子邮件。用户从电子邮件中获得带有密钥的链接 (password/reset/key/(?P<uidb36>[0-9A-Za-z]+)-(?P<key>.+)/),通过该链接,用户可以更改密码。

但是,我想减少用户必须打开的页面。这是我想要的:

  1. 代替重置链接,只将密钥发送给用户
  2. 覆盖 password_reset_done.html 以添加键输入表单 (method="GET")
  3. 用户输入密钥并确认,然后重定向到 password/reset/?key=xxx

2 很容易实现,但我不知道如何实现 1 和 3。

Here 是 django-allauth 默认发送的密码重置邮件。只有一个 password_reset_url。如何用生成的密钥替换它?

我怎样才能将网址从 password/reset/key/(?P<uidb36>[0-9A-Za-z]+)-(?P<key>.+)/ 覆盖到 password/reset/?key=(?P<uidb36>[0-9A-Za-z]+)-(?P<key>.+)

0 个答案:

没有答案