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方法,就是将视图类中的参数拿到,和列表中方法比较,如果有返回执行,没有就提示错误信息

 

posted @ 2019-02-24 17:09  仗剑煮大虾  阅读(177)  评论(0编辑  收藏  举报