码迷,mamicode.com
首页 > 其他好文 > 详细

CBV-2-CBV流程-View源码解析

时间:2018-06-21 22:34:19      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:请求   ram   没有   第一步   djang   http   alt   返回   原理   

CBV是基于反射实现根据请求方式不同,执行不同的方法。

请求流程:view源码解析

1.urls.py :请求一定来执行视图下的as_view方法。也可以直接点击as_view()来找源码。

技术分享图片

2.views.py 视图内没有as_view方法,则找父级的as_view方法。

技术分享图片

3.源码:as_view返回自己下面的view方法,as_view执行了自己view方法,返回值是dispatch方法.

技术分享图片

4,dispatch方法判断请求方式。

技术分享图片

5,所以请求已经来,第一步先执行的都是dispatch方法。

接下来我们自己也可以下dispatch方法,dispatch工作原理:

技术分享图片

运行结果:

技术分享图片

6,dispatch方法,父类都给我们写好了。

技术分享图片

django rest framework框架

原理:   

url -> view方法 -> dispatch方法(反射执行其他:GET/POST/DELETE/PUT)

 

CBV-2-CBV流程-View源码解析

标签:请求   ram   没有   第一步   djang   http   alt   返回   原理   

原文地址:https://www.cnblogs.com/aaronthon/p/9211011.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!