django 手机验证码获取

注册已经完成的逻辑

之前我做了图片验证码的逻辑,然后为了完成注册,我需要再让用户验证一次手机号码。
为了验证手机号码,我必须获取用户的手机,还需要先验证图片验证码。所以在发送手机验证码之前,我需要先验证用户的手机号码和图片验证码

验证用户图片验证码

因为需要验证数据,就可以使用一下serializer了
先简单的搭一个view和serializer。由于这里get方法并没有保存任何值,并且需要指定序列化器,我使用GenericView来写view类

创建新视图

在这里插入图片描述
先pass补全

创建新的serializer

现在给这个视图写一个serializer,这个serializer没有和任何的mysql模型类产生关系,所以直接用最基础的serializer就可以了,然后我们可以先给serializer添加我们需要的字段,首先手机号码和用户第一次输入的验证码部分是肯定要的,还有就是图片验证码的ID
在这里插入图片描述
我先在serializer中补全我的验证逻辑即复写validata方法,并传入需要验证的三个字段

    def validate(self, attrs):     
        print(attrs)
        image_id_uuid=attrs['image_id']
        image_input_text=attrs['image_text']
        phone=attrs['phone']

然后获得了从前端传入的数据后,我们需要和之前存在redis数据库中的数据进行对比验证。这时候我们通过UUID去取存在数据库中的数据,注意我们的redis数据库中的验证图片是有过期时间的,所以过期了需要重新获取一遍。

from django_redis import get_redi
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值