Django框架(二十五:CBV的执行流程)
先在views.py中定义一个CBV视图,以供例子讲解
再定义一个CBV的路由,如下图:
会发现其中调用as_view()这个函数,在源码中可看到,它其实返回的是一个view对象,所以,当前端请求/student/这个路由的时候,并没有直接调用StudentView视图中相应的方法如get/post/put等,而是走到了as_view中,并返回view对象
那么这个view又是什么呢,
如上图,view中调用了dispatch()函数,接下来看看它又做了些什么,返回的什么值
其中self.http_method_names的值如下