Django+DRF发送短信验证码--阿里云

1.注册登录阿里云,并找到短信服务

 2.点击“产品详情页”进入购买短信服务

3.购买完后点击“新手引导”

4.因为在开发当中直接使用“通过发送测试发送短信”的功能

5. 选择api发送测试,点击“短信服务控制台”

6.绑定测试手机号码

 7. 选择测试短信模板

8. 将模版保存下来放到代码中备用,并点击“调用API发送短信”

"""
签名名称 :阿里云短信测试
使用场景 :发送测试短信
模版名称 :测试专用模板
模版Code :SMS_154950909
模版类型 :验证码
模版内容 :您正在使用阿里云短信测试服务,体验验证码是:${code},如非本人操作,请忽略本短信!
"""

9. 进入后基本信息他已经帮你填好了,在左边选择SDK示例然后语言选择python,会自动生成示例代码,

10. 点击“SDK”信息下载SDK

pip install alibabacloud_dysmsapi20170525==2.0.24

在项目中安装这个包

10. 安装这个包后将示例代码放入到你的代码中,单独封装一个文件里,官方文档写的太乱了现在整理下如下

class Sample:
    def create_client(self, access_key_id: str, access_key_secret: str):
        # 1. 创建一个配置对象
        config = Config(
            # 必填,您的 AccessKey ID,
            access_key_id=access_key_id,
            # 必填,您的 AccessKey Secret,
            access_key_secret=access_key_secret,
            endpoint=f'dysmsapi.aliyuncs.com'
        )
        # 2. 创建一个客服端
        client = Client(config)
        # 3. 创建短信对象
        send_sms_request = SendSmsRequest(
            sign_name='阿里云短信测试',
            template_code='SMS_154950909',
            phone_numbers='15755357122',
            template_param='{"code":"1234"}'
        )
        # 4. 设置允许时间选项
        runtime = RuntimeOptions()
        # 5. 发送短信
        client.send_sms_with_options(send_sms_request, runtime)

11. 然后我们在分装下,方便我们进行调用

class Send_SMS():
    #  access_key_id和 access_key_secret 为你的账号值
    access_key_id = 'access_key_id'
    access_key_secret = 'access_key_secret'
    endpoint = 'dysmsapi.aliyuncs.com'
    sign_name = '阿里云短信测试'
    template_code = 'SMS_154950909'

    def __init__(self):
        self.config = Config(
            # 必填,您的 AccessKey ID,
            access_key_id=self.access_key_id,
            # 必填,您的 AccessKey Secret,
            access_key_secret=self.access_key_secret,
            endpoint=self.endpoint
        )

    def send(self, mobile: str, code: str):
        """
        mobile: 手机号
        code:验证码
        """
        # 1. 创建一个客服端
        client = Client(self.config)
        send_sms_request = SendSmsRequest(
            phone_numbers=mobile,
            template_param=json.dumps({"code": code}),
            sign_name=self.sign_name,
            template_code=self.template_code,

        )
        # 2. 创建短信对象
        # 3. 设置允许时间选项
        runtime = RuntimeOptions()
        # 4. 发送短信
        client.send_sms_with_options(send_sms_request, runtime)


if __name__ == '__main__':
    # mobile为你的手机号
    # code 为你想要发到手机的验证码
    Send_SMS().send(mobile='xxxxx', code='xxxxx')

12. 剩下的就是要获取到 access_key_id 和 access_key_secret,在平台上可以申请

13.点击运行即可

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面我会简单介绍如何使用 DjangoDjango REST framework(DRF)来实现 CRUD 操作。CRUD 是指 Create(创建)、Read(读取)、Update(更新)和 Delete(删除),是开发 Web 应用程序时最基本的操作。 首先,你需要安装 DjangoDRF。你可以使用以下命令来安装: ``` pip install django pip install djangorestframework ``` 接下来,创建一个 Django 项目,并在项目中创建一个应用程序。你可以使用以下命令来创建: ``` django-admin startproject projectname cd projectname python manage.py startapp appname ``` 在应用程序的 `models.py` 文件中定义一个模型。例如,我们创建一个简单的 `Book` 模型: ```python from django.db import models class Book(models.Model): title = models.CharField(max_length=200) author = models.CharField(max_length=200) pub_date = models.DateField() price = models.DecimalField(max_digits=5, decimal_places=2) ``` 然后,在应用程序的 `serializers.py` 文件中创建一个序列化器。序列化器用于将模型转换为 JSON 格式,以便在 API 中返回。以下是一个简单的 `BookSerializer`: ```python from rest_framework import serializers from .models import Book class BookSerializer(serializers.ModelSerializer): class Meta: model = Book fields = ['id', 'title', 'author', 'pub_date', 'price'] ``` 接下来,我们需要创建视图。视图定义了 API 的行为。在 `views.py` 文件中,创建一个继承自 DRF 的 `ViewSet` 类的视图。以下是一个简单的 `BookViewSet`: ```python from rest_framework import viewsets from .models import Book from .serializers import BookSerializer class BookViewSet(viewsets.ModelViewSet): queryset = Book.objects.all() serializer_class = BookSerializer ``` 最后,我们需要将视图添加到路由中。在 `urls.py` 文件中,创建一个路由器,并将 `BookViewSet` 添加到路由器中。以下是一个简单的 `urls.py`: ```python from django.urls import path, include from rest_framework.routers import DefaultRouter from .views import BookViewSet router = DefaultRouter() router.register(r'books', BookViewSet) urlpatterns = [ path('', include(router.urls)), ] ``` 现在,你可以运行 Django 项目并使用 API 进行 CRUD 操作了。在命令行中运行 `python manage.py runserver` 启动 Django 服务器。然后,使用浏览器或其他 HTTP 客户端工具(例如 Postman)访问 API。 例如,要创建一个新的书籍,你可以向 `http://localhost:8000/books/` 发送一个 POST 请求,包含书籍的详细信息。要获取所有书籍的列表,你可以向 `http://localhost:8000/books/` 发送一个 GET 请求。要更新或删除特定的书籍,你可以向 `http://localhost:8000/books/<book_id>/` 发送一个 PUT 或 DELETE 请求,其中 `<book_id>` 是书籍的 ID。 这是一个非常简单的示例,但是它可以帮助你了解如何使用 DjangoDRF 来创建一个 CRUD API。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值