django實現阿里雲短信驗證


Django阿里雲短信驗證

創建SMS.py文件

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 Mobile_login(APIView):
def get(self,request):
# 模板參數一定要是這個格式
# 一定要注意模板變量number
# 生成隨機驗證碼
params = "{'code':%d}"%(randint(1000,100000))
para = request.GET.get('phone_numbers')
res = sms.send(para,params)
return HttpResponse(res)

測接口的時候:127.0.0.1:8000?phone_numbers=18888888888

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM