Библиотека Django Rest Auth (отличается от auth
приложения django rest Framework) помогает в этом. https://github.com/Tivix/django-rest-auth
Backend
Установите rest_auth
в INSTALLED_APPS
на серверной части и настройте URL
urlpatterns = [
...
path('rest-auth/', include('rest_auth.urls')),
]
Frontend
Как только это произойдет, вы можете отправить запрос на отправку в конечную точку сброса пароля, и он отправит электронное письмо, используя встроенную обработку почты Django (я использую django-anymail
, чтобы заставить его отправлять через mailgun, но любой почтовый сервер) будет работать)
Это фрагмент из кода реактивной, но вы можете использовать эквивалентную веб-библиотеку, такую как axios или jQuery, для отправки запроса на публикацию.
async resetPassword() {
const { email } = this.state;
fetch("https://mywebsite.com/api/v1/rest-auth/password/reset/", {
method: "POST",
body: JSON.stringify({email}),
})
}