2

我正在尝试使用 Djoser 创建重置密码功能。我成功地访问了我的 APIauth/users/reset_password/端点,然后按预期发送电子邮件。但是问题出现在电子邮件的内容中。它发送重定向链接到我的 api,而不是我的前端。

请注意,任何 <> 都只是隐藏一个变量,实际上并没有像那样显示

以下是电子邮件的示例:

You're receiving this email because you requested a password reset for your user account at <api>.

Please go to the following page and choose a new password: <api>/reset-password/confirm/<uid>/<token>

Your username, in case you've forgotten: <username>

Thanks for using our site!

The <api> team

这封电子邮件的目标是将用户发送到/reset-password/confirm/我的前端上的 url,而不是我的 api 上,这是目前正在发生的。

这是我的 DJOSER 设置:

DJOSER = {
'DOMAIN': '<frontend>',
'SITE_NAME': '<site-name>',
'PASSWORD_RESET_CONFIRM_URL': 'reset-password/confirm/{uid}/{token}',
}

预期的行为是DOMAIN设置更改放置在电子邮件中的链接,但事实并非如此。我似乎无法在文档中找到对这个特定问题的参考。

在这里的任何帮助将不胜感激,谢谢。

4

1 回答 1

1

我想到了:

由于Djoser扩展包django-templated-mail,变量DOMAINSITE_NAME必须覆盖django-templated-mail设置而不是Djoser设置。因此,您必须将特定于变量django-templated-mail的变量拉出Djoser变量。

工作设置实际上如下所示:

DOMAIN = '<frontend>',
SITE_NAME = '<site-name>',
DJOSER = {
'PASSWORD_RESET_CONFIRM_URL': 'reset-password/confirm/{uid}/{token}',
}
于 2020-01-26T20:32:19.617 回答