在verify/migrations 新建一个serlalizers.py:
from rest_framework import serializers
from django_redis import get_redis_connection
class MsgCodeSerializer(serializers.Serializer):
imagecode_id = serializers.UUIDField()
image_string = serializers.CharField(max_length=4,min_length=4)
def validate(self, data):
print(data)
imgcode_id = data['imagecode_id']
image_string = data['image_string']
con = get_redis_connection()
true_string = con.get(imgcode_id)
print('true',true_string)
if not true_string:
raise serializers.ValidationError('imagecode error')
if image_string == true_string:
print('ojbk')
if not true_string:
raise serializers.ValidationError('验证码错误')
if image_string != true_string.decode():
raise serializers.ValidationError('验证未通过')
# print('验证通过')
return data
在verify/views.py中写入:
class MsgCodeView(APIView):
serializer = MsgCodeSerializer()
def get(self,request,phone):
# request.GET
# 校验参数
a = request.query_params
ser = MsgCodeSerializer(data=request.query_params)
ser.is_valid(raise_exception=True)
# 生成短信验证码
meg_number=random.randint(100000,999999)
# 保存短信验证码
# 发送短信验证码
ccp = CCP()
# 注意: 测试的短信模板编号为1
A1 = ccp.send_template_sms( '18233533816', ['5555', 1], 1 )
# 发送短信
print(A1)
#
return HttpResponse('ok')
在verify/urls.py中写入:
url(r'^meg_code/(\d+)/',views.MsgCodeView.as_view())
导入yuntongxun
启动服务器:
(huanjing1) python@ubuntu:~/Desktop/new_project/shanghui$ live-server
进入注册界面:http://127.0.0.1:39170/register.html
复制验证码地址:http://127.0.0.1:7000/pic_code/3e6453fa-d0c1-470a-afef-6f012a85c6ee/
打开postman,选择get请求:
http://127.0.0.1:8000/meg_code/1234567?imagecode_id=3e6453fa-d0c1-470a-afef-6f012a85c6ee&image_string=8,点击发送,收到验证码