Не знаете, как управлять конфигурациями электронной почты

Я пытаюсь создать функцию сброса пароля с помощью 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настройка для изменения ссылки, размещаемой в электронном письме, но это не так. Кажется, я не могу найти ссылку на эту конкретную проблему в документации.

Любая помощь здесь будет принята с благодарностью, спасибо.

1 ответ

Решение

Я понял:

Из-за Djoser расширение пакета django-templated-mail, переменные DOMAIN а также SITE_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}',
}
Другие вопросы по тегам