加密数据,安装itsdangerous包
pip install itsdangerous
1、 加密数据
from itsdangerous import TimedJSONWebSignatureSerializer as Serializer
from itsdangerous import SignatureExpired
2、解密数据
serializer = Serializer(settings.SECRET_KEY, 3600)
try:
info = serializer.loads(token)
# 获取待激活用户的id
user_id = info['confirm']
d_user = User.objects.get(id=user_id)
d_user.is_active = 1
d_user.save()
# 跳转到登陆页面
return redirect(reverse('user:login'))
except SignatureExpired as e:
# 激活链接失效
return HttpResponse('激活链接已失效')
异步发送邮件,安装celery包
celery为任务处理方 这里安装redis为broker 项目工程为客户端
pip install celery
pip install redis
1、在工程根目录 新建名称为celery_tasks的包 在里面新建tasks的py文件 如图
broker 为redis redis的配置文件默认为只有本地(127.0.0.1)才能连接成功 所以需要设置redis的配置文件 加入ip地址 重启redis服务器
celery为任务处理者,也需要项目代码且安装了celery包
其中下面两句话一定要在任务处理者这一端 否则会失败
打开终端 命令
由上面两张图可以看到启动成功了 正在监听任务:celery_tasks.tasks.send_register.active.email的任务
redis也连接成功
最后 启动django服务器 异步发邮件!成功!!!