注册已经完成的逻辑
之前我做了图片验证码的逻辑,然后为了完成注册,我需要再让用户验证一次手机号码。
为了验证手机号码,我必须获取用户的手机,还需要先验证图片验证码。所以在发送手机验证码之前,我需要先验证用户的手机号码和图片验证码
验证用户图片验证码
因为需要验证数据,就可以使用一下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