Пример #1
0
 def create(self, request, *args, **kwargs):
     serializer = self.get_serializer(data=request.data)
     # print(serializer)
     # print(SmsCodeViewSet.serializer_class)
     # 校验序列化器的 validate_mobile 方法
     serializer.is_valid(raise_exception=True)
     # 取出 mobile
     mobile = serializer.data['mobile']
     code = self.random_code()
     yp = YunPian()
     # sms_status  {'code': 0, 'msg': '发送成功', 'count': 1, 'fee': 0.05, 'unit': 'RMB', 'mobile': '17635700440', 'sid': 26748214808}
     sms_status = yp.send_msg('17635700440', code)
     print(sms_status)
     if sms_status['code'] == 0:
         VerifyCode(mobile=mobile, code=code).save()
         return Response({
             'mobile': mobile,
             'msg': sms_status['msg'],
         },
                         status=status.HTTP_201_CREATED)
     else:
         return Response({
             'mobile': mobile,
             'msg': sms_status['msg'],
         },
                         status=status.HTTP_400_BAD_REQUEST)
Пример #2
0
    def create(self, request, *args, **kwargs):  # 重写 create, 因为要加发送验证码功能
        serializer = self.get_serializer(data=request.data)
        serializer.is_valid(raise_exception=True)  # 判断是否合法

        mobile = serializer.validated_data['mobile']
        code = self.get_random_code()

        yunpian = YunPian(YUNPIAN_KEY)
        result = yunpian.send_msg(mobile, code)

        if result['code'] == 0:  # 只有发送成功再创建对象
            ver_code = VerifyCode()
            ver_code.code = code
            ver_code.mobile = mobile
            ver_code.save()
            return Response(data={'mobile': mobile, 'msg': result['msg']}, status=status.HTTP_201_CREATED)
        else:
            return Response(data={'mobile': mobile, 'msg': result['msg']}, status=status.HTTP_400_BAD_REQUEST)
Пример #3
0
	def create(self, request, *args, **kwargs):
		#得到序列化器
		serializer = self.get_serializer(data=request.data)
		#校验序列化器的字段
		serializer.is_valid(raise_exception=True)
		mobile = serializer.data['mobile']
		code = self.generating()
		yun_pian = YunPian('4f70824dde066067241393c80c291ea6')
		sms_status = yun_pian.send_msg(mobile,code)
		sms_status = json.loads(sms_status,)

		if sms_status['code'] == 0:
			verify_code = VerifyCode(code=code,mobile=mobile)
			verify_code.save()
			# 暂时注释掉
			# self.perform_create(serializer)
			# headers = self.get_success_headers(serializer.data)
			# print(headers)
			return Response({"mobile":mobile,"msg":sms_status["msg"]}, status=status.HTTP_201_CREATED)
		else:
			return Response({"mobile":mobile,"msg":sms_status["msg"]}, status=status.HTTP_400_BAD_REQUEST)