Django实现阿里云短信验证
第一步 创建SMS.py
点击此处创建AccessKey和Access Key Secret
获取签名名称和模板code
将得到的签名名称和模板code复制到这里
代码如下:
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
ACCESS_KEY_ID = " " #用户AccessKey
ACCESS_KEY_SECRET = " " #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("签名名称","模板CODE")
VIews函数中
class Aliyun_register(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)
至此,便完成了!