zoukankan      html  css  js  c++  java
  • Python学习————视图,路由,三大认证

    视图

    	-两个视图基类 APIView,GenericAPIView(继承APIView):涉及到数据库和序列化类的操作,尽量用GenericAPIView
        -5个视图扩展类(父类都是object)
            CreateModelMixin:create
            DestroyModelMixin:destory
            ListModelMixin
            RetrieveModelMixin
            UpdateModelMixin
        -9个视图子类(GenericAPIView+上面5个视图扩展类中的一个或多个)
        	RetrieveUpdateDestroyAPIView
            CreateAPIView
            RetrieveAPIView
            DestroyAPIView
            RetrieveUpdateAPIView
            ListCreateAPIView
            UpdateAPIView
            ListAPIView
            RetrieveDestroyAPIView
        -视图集
        	-ModelViewSet:5大接口都有了
            -ReadOnlyModelViewSet:获取一条和获取多条的接口
        	-GenericViewSet:ViewSetMixin+GenericAPIView        
            ViewSet:ViewSetMixin+APIView
            ViewSetMixin:类重写了as_view,路由配置就变样了
    

    路由

    -基本配置:跟之前一样
    -有action的:必须继承ViewSetMixin
    -自动生成:DefaultRouter和SimpleRouter
    	-导入,实例化得到对象,注册多个,对象.urls(自动生成的路由)
        -路由相加urlpatterns+=router.urls/include:path('', include(router.urls))
    -视图类中自己定义的方法,如何自动生成路由
    	-在自己定义的方法上加装饰器(action)
        -两个参数methods=[GET,POST],表示这两种请求都能接受
        -两个参数detail=True,表示生成带pk的连接
    

    三大认证

    -认证组件:校验用户是否登录
    	-写一个认证类,继承BaseAuthentication,重写authenticate,内部写认证逻辑,认证通过返回两个值,第一个是user,认证失败,抛去异常
        -全局使用,局部使用,局部禁用
    -权限:校验用户是否有权限进行后续操作
    	-写一个类,继承BasePermission,重写has_permission,True和False
        -全局使用,局部使用,局部禁用
    -频率:限制用户访问频次
    	-写一个类,继承SimpleRateThrottle,重写get_cache_key,返回什么,就以谁做限制,scop=luffy字段,需要跟setting中的key对应   luffy:3/h(一小时访问三次)
        
        -全局配置,局部配置,局部禁用
        -需求:发送短信验证码的接口,一分钟只能发送一次,局部使用,配在视图类上
  • 相关阅读:
    bridge桥接模式
    docker部署mysql实现远程访问
    翻下旧资料,发现96年考过foxbase二级
    这几年专注于流程管理与RPA落地
    201521123080《Java程序设计》第10周学习总结
    201521123034《Java程序设计》第十周学习总结
    Beta版本冲刺计划及安排
    团队作业7——Alpha冲刺之事后诸葛亮
    团队作业6——展示博客(Alpha版本)
    团队作业4——第一次项目冲刺(Alpha版本)第一天+第二天+第三天+第四天+第五天+第六天+第七天
  • 原文地址:https://www.cnblogs.com/x945669/p/13393106.html
Copyright © 2011-2022 走看看