zoukankan      html  css  js  c++  java
  • 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)
     

  • 相关阅读:
    Flex从页面(*.swf)url获取参数
    Flex 国际化
    Flex自定义事件二
    Flex中为各种控件绑定远程XML数据
    arp spoofing on linux
    java定位内存泄漏点
    Drools 简单应用实例2
    制作back track linux usb启动盘
    xss漏洞学习
    nmap在实战中的高级应用
  • 原文地址:https://www.cnblogs.com/absoluteli/p/14129253.html
Copyright © 2011-2022 走看看