利用邮件激活用户
Posted pengsq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用邮件激活用户相关的知识,希望对你有一定的参考价值。
一、安装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