APIView和View的区别

  API继承了View

  重写了as_view方法

    --豁免csrf

  def dispatch(self, request, *args, **kwargs):

    self.args = args

    self.kwargs = kwargs

    # 重新封装request

    # 新的request变成Request的实例化对象

    # 旧的request变成了_request

    request = self.initialize_request(request, *args, **kwargs)

    self.request = request

  def initialize_request(self, request, *args, **kwargs):

    parser_context = self.get_parser_context(request)

    return Request(

      request,

      parsers = self.get_parsers(),

      authenticators = self.get_authenticators(),

      negotiator = self.get_content_negotiator(),

      parser_context = parser_context

    )

  class Request(object):

    self._request = 旧的request

    def query_params(self):

      return self._request.GET

    def data(self):

      return post请求的数据

最新文章

  1. range()和xrange()
  2. HDU 2068 RPG的错排
  3. WPS添加页码不是从首页开始
  4. TAR命令详解
  5. 滚动RollUp、压缩
  6. AD7190学习笔记
  7. 教程-FastReport 的安装 心得
  8. cocopods安装
  9. 当浏览器不支持placeholder,所执行的函数
  10. Android 判断当前设备是否联网
  11. LoadRunner入门(二)
  12. SpringMVC详解(二)------详细架构
  13. WPF MVVM UI分离之《交互与数据分离》
  14. win+R启动列表
  15. 【转】Syncthing的安装与使用
  16. 外网访问ARM嵌入式Linux系统
  17. salesforce零基础学习(八十八)项目中的零碎知识点小总结(二)
  18. JavaScript内置对象——Math对象
  19. 问题:mysql服务正在启动 mysql服务无法启动 && mysql启动脚本 mysql关闭脚本
  20. java开学第一周测试自我感想

热门文章

  1. 设置SVN服务器
  2. java接口的学习笔记
  3. Python中续行符的注意事项
  4. 调试django项目的土方法
  5. docker 2 容器数据卷
  6. APP-3-百度地图应用
  7. shell脚本运行springboot项目jar包
  8. rocketmq 4.2.0 版本 控制台本地搭建(史上最简单教程)
  9. 关于maven中的快照版本(snapshot)与正式版本(release)解析。
  10. [重点]delphi删除部分字符串(不区分大小写)