1 登录注册页面分析
1.1 验证手机号是否存在接
2 腾讯云短信申请
1 登录注册页面分析
# 用户板块需要写的接口
1 用户名密码登录(多方式登录)
2 获取手机验证码接口
3 手机号+验证码登录
4 注册接口
5 验证手机号是否存在接口
1.1 验证手机号是否存在接
口视图类
from django.shortcuts import render
# Create your views here.
from django.utils.datastructures import MultiValueDictKeyError
from rest_framework.viewsets import ViewSet
from rest_framework.decorators import action
from .models import User
from utils.common_response import APIResponse
class MobileView(ViewSet):
# @action(methods=['GET'], detail=False)
# def check_mobile(self, request, *args, **kwargs):
# # 取出前端传入手机号
# mobile = request.query_params.get('mobile')
# # 去数据中查询,是否存在即可
# user = User.objects.filter(mobile=mobile).first()
# if user:
# return APIResponse(msg='手机号存在')
# else:
# return APIResponse(code=101, msg='手机号不存在')
@action(methods=['GET'], detail=False)
def check_mobile(self, request, *args, **kwargs):
try:
# 取出前端传入手机号
mobile = request.query_params['mobile']
# 去数据中查询,是否存在即可
User.objects.get(mobile=mobile) # 有且只有一个才不报错,否则报错
except MultiValueDictKeyError as e:
raise Exception('您没有携带手机号')
# except ObjectDoesNotExis as e:
# # raise Exception('手机号不存')
except Exception as e:
raise Exception('未知错误,请联系系统管理员')
return APIResponse(msg='手机号存在')
路由
from rest_framework.routers import SimpleRouter
from .views import MobileView
router = SimpleRouter()
# 127.0.0.1:8000/api/v1/user/mobile/check_mobile/ ---get 请求
router.register('mobile', MobileView, 'mobile')
urlpatterns = [
]
urlpatterns += router.urls
2 腾讯云短信申请
# 发送短信功能
-网上会有第三方短信平台,为我们提供api,花钱,向它的某个地址发送请求,携带手机号,内容---》它替我们发送短信
-腾讯云短信---》以这个为例
-阿里 大于短信
-容联云通信
#1 申请一个公众号---》自行百度---》个人账号
#2 如何申请腾讯云短信
-1 地址:https://cloud.tencent.com/act/pro/csms
-2 登录后,进入控制台,搜短信https://console.cloud.tencent.com/smsv2
-3 创建签名:使用公众号
-身份证,照片
-4 模板创建
-5 发送短信
-使用腾讯提供的sdk发送
-https://cloud.tencent.com/document/product/382/43196