Django drf:cbv(class base view)源码分析

Posted wuzhengzheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django drf:cbv(class base view)源码分析相关的知识,希望对你有一定的参考价值。

cbv是基于类的视图

# 首先要在路由层配置:

技术图片

 

# 找到类绑定方法as_view

技术图片

 

# 点开dispatch的方法

技术图片

# http_method_names其实就是方法的列表

技术图片

 

 整个流程:

  1.写一个基于类的视图

  2.然后在路由层配置,第二参数写as_view,加括号执行

  3.由于父级中没有需要到view中找方法,as_view方法其实是一个闭包函数,返回的一个函数地址加括号执行

  4.as_view中执行了dispatch方法,就是将视图类中的参数拿到,和列表中方法比较,如果有返回执行,没有就提示错误信息

以上是关于Django drf:cbv(class base view)源码分析的主要内容,如果未能解决你的问题,请参考以下文章

Django Function Based View(FBV)和Class Based View (CBV)对比

drf 前戏—CBV的使用及源码流程

Django——CBV与FBV

在学习DRF之前

在学习DRF之前

django中CBV源码分析