• Rest_Framework--介绍


    一.FBV和CBV
    FBV(function base views) 就是在视图里使用函数处理请求。
    CBV(class base views) 就是在视图里使用类处理请求。
     
    在之前的代码习惯中,通常使用一个url对应一个视图函数,即FBV;
    DjangoRestFramework使用的是多个url对应一个视图,视图中封装了get,post,put,patch,delete等主要方法,即CBV模式。
    我们用类写View。这样做的优点主要下面两种:
    1. 提高了代码的复用性,可以使用面向对象的技术,比如Mixin(多继承)
    2. 可以用不同的函数针对不同的HTTP方法处理,而不是通过很多if判断,提高代码可读性
    二.drf
    DjangoRestFramework是一个基于django开发的组件,本质是一个django的app
     
    drf提供哪些功能
    #免除csrf认证 dispatch中的as_view()函数,return csrf_exempt(view)
    #路由组件routers 进行路由分发
    #视图组件ModelViewSet 帮助开发者提供了一些类,并在类中提供了多个方法
    #版本 版本控制用来在不同的客户端使用不同的行为
    #认证组件 写一个类并注册到认证类(authentication_classes),在类的的authticate方法中编写认证逻
    #权限组件 写一个类并注册到权限类(permission_classes),在类的的has_permission方法中编写认证逻辑。
    #频率限制 写一个类并注册到频率类(throttle_classes),在类的的allow_request/wait 方法中编写认证逻辑
    #序列化组件:serializers 对queryset序列化以及对请求数据格式校验
    #分页 对获取到的数据进行分页处理, pagination_class
    #解析器 选择对数据解析的类,在解析器类中注册(parser_classes)
    #渲染器 定义数据如何渲染到到页面上,在渲染器类中注册(renderer_classes)
     

  • 相关阅读:
    mysql dns反说明的成绩
    Solaris 11 安装图解(1)
    Meld 1.1.5
    Open Movie Editor-视频编纂器
    Solaris 11 装配图解(6)
    Pidgin 2.0.2
    Subversion 1.4.4 发布
    Solaris 11 安装图解(5)
    Solaris 11 安置图解(3)
    HTML 实体盘诘东西
  • 原文地址:https://www.cnblogs.com/absoluteli/p/14129253.html
Copyright © 2020-2023  润新知