django用户中心发送邮箱验证邮件以及验证

发送邮件

在用户模型中添加是否通过验证邮箱的字段

因为我们的AbstractUser中并未提供是否验证过邮箱的字段,所以我们需要在model中添加一个email_active字段

active_email=models.BooleanField(default=False,verbose_name='activate email')

在添加这条数据后别忘了迁移,否则数据库会报错
在这里插入图片描述
添加完成

完成我们发送邮件需要的包和setting配置

配置setting.py字段

由于django自带了邮件发送系统,我们只需要在setting.py文件中添加以下字段注册邮箱
这是QQ邮箱的形式

EMAIL_BACKEND='django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_SSL = True
# 邮箱服务
EMAIL_HOST = 'smtp.qq.com'
# 端口号
EMAIL_PORT = 465
# 账号
EMAIL_HOST_USER = '[email protected]'
# 授权秘钥 密钥要在QQ邮箱内开启IMAP/SMTP服务会获得
EMAIL_HOST_PASSWORD =''
# 发件人
EMAIL_FROM='<[email protected]>'

添加验证邮箱需要的包

这里我们使用itsdangerous 包加密用户验证邮箱发回给后端

下载itsdangerous包

在终端进入项目所在虚拟环境,键入

pip install itsdangerous

下载itsdangerous包,就直接可以使用

根据逻辑确定视图类和序列化器

这里选用了UpdataAPIView视图和ModelSerializer序列化器,至于为什么使用UpdataAPIView是因为我用户登录以后用户专用的界面都是通过他们浏览器留下的token来进行数据访问的,所以我们需要实时更新这些信息,比如用户的邮箱。其实也就是前端传回了一个PUT

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值