6.25

发布时间 2023-06-26 22:58:50作者: ranbo145

1.前后端项目上传远程git仓库

 

2.判断手机号是否存在的接口 (6.21)

/1  在apps/user 文件夹下添加路由

from rest_framework.routers import SimpleRouter
from .views import UserView
router = SimpleRouter()
router.register('userinfo', UserView, 'userinfo')
urlpatterns = [
]
urlpatterns += router.urls

/2  在apps/user 文件夹下的views文件夹中写入判断手机号是否存在的逻辑

class UserView(ViewSet):
# 验证手机号是否存在接口--->get请求--->和数据库有关,但是不需要序列化--->自动生成路由
@action(methods=['GET'],detail=False)
def check_mobile(self,request,*args,**kwargs): # 虽然没有,写上为之后有了做准备
try:
# 从前端取传入的手机号
mobile = request.query_params.get('mobile',None)
user = User.objects.filter(mobile=mobile)
return APIResponse(msg='手机号已存在')
except Exception as e:
raise APIException('手机号不存在')
# return APIResponse('手机号不存在')

/3  在外部的urls中进行路由分发

from django.views.static import serve
from django.conf import settings
urlpatterns = [
path('admin/', admin.site.urls),
# path('index/', views.index),
# path('exception/', views.ExceptionTestView.as_view()),
# path('response/', views.ResponseView.as_view()),
# 路由分发
path('api/v1/home/', include('home.urls')),
path('api/v1/user/', include('user.urls')), # http://127.0.0.1:8000/api/v1/user/user/check_mobile
path('media/<path:path>',serve,{'document_root':settings.MEDIA_ROOT})
]

/4  在postman中进行测试

输入http://127.0.0.1:8000/api/v1/user/user/check_mobile?mobile=xxxx进行测试

 

3.多方式登录接口 

/1 整体逻辑(需要哪些接口):

  校验手机号是否存在的接口

  多方式登录接口

  发送短信接口

  短信登录接口

  短信注册接口

 

4.多方式登录接口 

/1 将多方式登录的接口和检测手机号是否存在的接口写在一起

/2 校验的过程写到的序列化类中

  局部钩子

  全局钩子

/3  

 补充:context上下文
context是一个字典对象