码迷,mamicode.com
首页 > 其他好文 > 详细

利用邮件激活用户

时间:2018-09-20 23:54:18      阅读:445      评论:0      收藏:0      [点我收藏+]

标签:用户   获取用户信息   expired   mail   自定义   load   邮件发送   _id   use   

一、安装itsdangerous模块

利用只有你自己知道的秘钥来加密你的数据,然后把加密了的数据发给别人,取回数据时再利用已知的秘钥来解密数据

pip install itsdangerous
from itsdangerous import imedJSONWebSignatureserializer as Serializer
serializer = Serializer("secretkery",3600)     #第一个参数自定义密钥(自己知道就行),第二个参数过期时间3600秒
info = {‘confirm‘:1}
res = serializer.dumps(info)    #返回加密后的数据

serializer.loads(res)    #返回解密后的数据

二、加密用户ID

serializer = Serializer(settings.SECRET_KEY,3600)    #第一个参数应用了setting里的SECRET_KEY,第二个参数过期时间
info = {‘confirm‘"user.id}
token = serializer.dumps(info)

三、激活视图处理

from itsdangerous import SignatureExpired    #失效报错的异常
class ActiveView(View):
    ‘‘‘用户激活‘‘‘
    def get(self,request,token): #设置URL捕获token参数
        #进行用户激活
        serializer = Serializer(setting.SECRET_KEY,3600)
        try:
                 info = serializer.loads(token)
                 user_id = info[‘confirm‘]
                  
                 #根据ID获取用户信息
                  user =User.objects.get(id=user_id)
                  user.is_acitve = 1
                  user.save()
        except SignatureExpired as e:
              #激活链接已经失效
             return RttpResponse(‘激活链接已过期‘)   

四、发送邮件设置

1)、登录邮箱开启客户端授权密码:设置一个授权密码,开启服务;

2)、在setting设置邮件发送的配置

EMAIL_BACKEDN

  

利用邮件激活用户

标签:用户   获取用户信息   expired   mail   自定义   load   邮件发送   _id   use   

原文地址:https://www.cnblogs.com/pengsq/p/9684011.html

(1)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!