实现阿里云短信验证

点击此处创建AccessKey和Access Key Secret

 获取签名名称和模板code

from random import randint

class Aliyun_Sms(APIView):
    def get(self,request):
        # 生成验证码
        params = "{'code':%d}"%(randint(1000,100000))
        para = request.GET.get('phone_numbers')
        res = sms.send(para,params)
        return HttpResponse(res)

  

安装所需包
pip install aliyun-python-sdk-core

写一个工具方法代码如下:

# 短信服务
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest

ACCESS_KEY_ID = "LTAI4G2bWREvNJ4B5PwCqAcj"  #AccessKey
ACCESS_KEY_SECRET = "r85JfHPJQnqFuPX1lGxJM3hSwG9za5"  # Access Key Secret


class SMS:
    def __init__(self, signName, templateCode):
        self.signName = signName
        self.templateCode = templateCode
        self.client = client = AcsClient(ACCESS_KEY_ID, ACCESS_KEY_SECRET, 'cn-hangzhou')

    def send(self, phone_numbers, template_param):
        request = CommonRequest()
        request.set_accept_format('json')
        request.set_domain('dysmsapi.aliyuncs.com')
        request.set_method('POST')
        request.set_protocol_type('https')  # https | http
        request.set_version('2017-05-25')
        request.set_action_name('SendSms')

        request.add_query_param('RegionId', "cn-hangzhou")
        request.add_query_param('PhoneNumbers', phone_numbers)
        request.add_query_param('SignName', self.signName)
        request.add_query_param('TemplateCode', self.templateCode)
        request.add_query_param('TemplateParam', template_param)
        response = self.client.do_action_with_exception(request)
        return response


# 发送短信的人
sms = SMS("梅朵的app", "SMS_195580026")

在Views中调用工具方法 

原文地址:https://www.cnblogs.com/weiwuhu/p/13715839.html