Как отправить электронное письмо для сброса пароля из django, используя django-rest-framework и React - PullRequest
0 голосов
/ 19 июня 2019

Я создаю веб-сайт в бэкэнде, который я использую (django, django-rest-framework) и внешний интерфейс (React.js). Я не совсем понимаю, как мне создать restfull api для электронной почты для сброса пароля.

1 Ответ

0 голосов
/ 19 июня 2019

Библиотека 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}),
    })
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...