如何使用django-rest-framework和React从django发送密码重置电子邮件

时间:2019-06-19 18:27:27

标签: django reactjs django-rest-framework

我正在使用(django,django-rest-framework)和前端(React.js)在后端创建一个网站。我不清楚我如何为密码重置电子邮件创建restfull api。

1 个答案:

答案 0 :(得分:0)

库Django Rest Auth(与django rest框架的auth应用不同)可帮助解决此问题。 https://github.com/Tivix/django-rest-auth

后端

rest_auth安装到后端的INSTALLED_APPS中,并设置URL

urlpatterns = [
  ...
  path('rest-auth/', include('rest_auth.urls')),
]

前端 到位后,您可以向密码重置端点发送一个发布请求,它将使用Django的内置邮件处理功能发送一封电子邮件(我使用django-anymail使其通过mailgun发送,电子邮件后端将起作用)

这是react-native的摘录,但是您可以使用axios或jQuery之类的等效Web库发出发布请求。

  async resetPassword() {
    const { email } = this.state;
    fetch("https://mywebsite.com/api/v1/rest-auth/password/reset/", {
      method: "POST",
      body: JSON.stringify({email}),
    })
  }