点击此处创建AccessKey和Access Key Secret
获取签名名称和模板code
安装所需包
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中调用工具方法
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)
至此,便完成了!