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