python之路81 路飞项目、为开源代码贡献代码、pycharm使用git、登录注册功能分析、手机号是否存在接口、多方式登录接口、腾讯云短信申请
为开源项目贡献代码
# github,gitee 看到好的开源项目, 发现有bug,为他增加新功能---》你加入了代码---》想合并进开源项目,如何做
# 步骤:
1 先fork开源项目--》复制这个项目到我的仓库中
2 clone下来,改代码,一路提交到远端(我的)
3 提交pr,等作者同意
pycharm使用git
只要用命令操作的,都可以点击完成,只需要点点点
登录注册功能分析
接口分析
5 校验手机号是否存在的接口
1 多方式登录接口:用户名/手机号/邮箱 +密码都可以登录
2 发送手机验证码接口 (接助于第三方短信平台)
3 短信登陆接口
4 注册接口
手机号是否存在接口
url.py
在总路由里面做好路由分发之后 在分路由里面写
from rest_framework.routers import SimpleRouter
from . import views
router = SimpleRouter()
# http://127.0.0.1:8000/api/v1/user/userinfo/send_sms/ get请求
router.register('userinfo', views.UserView, 'userinfo')
urlpatterns = [
]
urlpatterns += router.urls
views.py
from rest_framework.viewsets import GenericViewSet
from rest_framework.decorators import action
from .models import User
from utils.common_response import APIResponse
class UserView(GenericViewSet):
@action(methods=['GET'], detail=False) # 保证这个接口的安全(短信轰炸机==) 解析除了好多网站的发送短信接口,用多线程
def send_sms(self, request, *args, **kwargs):
try:
# 从地址栏中取出手机号 query_params : queryDict
mobile = request.query_params['mobile']
User.objects.get(mobile=mobile)
except Exception as e:
raise e
# return APIResponse(code=777,msg='手机号不存在')
return APIResponse(msg='手机号存在')
视图函数模板
def send_sms(self, request, *args, **kwargs):
try:
写视图代码 有异常抛出,然后封装的全局异常代码接收
except Exception as e:
raise e
return APIResponse()
多方式登录接口
使用 用户名,手机号,邮箱+密码登录
post--{username:3@qq.com,password:123}