电子邮件验证和密码重置 - django rest 框架和 angularjs

bri*_*n26 8 python django email-verification angularjs django-rest-framework

如何在 django.rest.auth 中实现用于密码重置的内置视图,以及如何使用 django rest 框架和 angularjs 创建用于注册的电子邮件验证系统?

我一直在寻找有关如何使用 django rest 框架和 angular js 在网站中实现 django 的 send_email 功能的教程或一些好的文档,但我一直找不到。

我需要的...

  • 当新用户注册时,必须为他们生成一个 url 以确认他们的电子邮件地址
  • 这个 url 必须自动发送到用户给定的电子邮件
  • 在用户被发送到此链接并确认他们的电子邮件地址后,他们的状态必须从 new_user.is_active = False 更改为 new_user.is_active = True

我拥有的...

  • 向我的注册端点发送发布请求的注册表单
    • 然后将新用户数据解包、验证并保存在我的注册视图中
  • 在settings.py中我添加了这个...

    EMAIL_USE_TLS = True
    
    EMAIL_HOST = 'smtp.gmail.com'
    
    EMAIL_HOST_USER = 'myemail@gmail.com'
    
    EMAIL_HOST_PASSWORD = 'mypassword'
    
    EMAIL_PORT = 587
    
    Run Code Online (Sandbox Code Playgroud)
  • 在我的 urls.py 中,我添加了这个...

    from django.conf.urls import url
    
    from rest_auth.views import PasswordResetView, PasswordResetConfirmView
    
    urlpatterns = [
    
      url(r'^password/reset/$', PasswordResetView.as_view(), name='password_reset'),
    
      url(r'^password/reset/confirm/$', PasswordResetConfirmView.as_view(), name='password_reset_confirm'),
    
    ]
    
    Run Code Online (Sandbox Code Playgroud)

所以我的问题是如何在我的项目中实现这些视图和 url,以及如何使用 from django.core.mail import send_mail

提前致谢

小智 0

用户填写注册表后,您可以要求验证码。该验证码将发送至注册表中提供的电子邮件地址。正确输入验证码后,您可以将用户设置为活动状态。