django开发路(四)加密数据、异步发送邮件

本文介绍了在Django项目中如何使用itsdangerous进行数据加密,并结合Celery和Redis实现异步发送邮件。首先,通过pip安装itsdangerous库,然后演示了加密和解密数据的步骤。接着,安装celery和redis,创建celery_tasks包并在其中编写tasks文件。为了使celery能远程连接redis,需要修改redis配置。最后,启动celery任务监听和Django服务器,实现异步邮件发送功能。
摘要由CSDN通过智能技术生成

加密数据,安装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服务器 异步发邮件!成功!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值