码迷,mamicode.com
首页 > Windows程序 > 详细

rest-framework(APIView)源码

时间:2018-07-31 17:24:33      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:补充   alt   pre   work   自定义   分享   inview   ram   login   

 CBV源码流程

1、创建url

技术分享图片

 2、创建视图类

技术分享图片

3、as_view方法源码

 因为我们自定义的试图类都会继承View类,所以启动项目的时候,url中的as_view函数就会执行,在我们自定义的函数类中没有这个方法就会到父类中去找

技术分享图片

 4、view函数

技术分享图片

 5、dispatch

 技术分享图片

 6、补充(http_method_names)

技术分享图片

url中视图函数中的执行 

# url(r‘^login/‘, views.LoginView.as_view()), 
# url(r‘^login/‘, View.as_view()), 
# url(r‘^login/‘, View.view),

APIView执行源码解析

使用APIView的大概流程与正常的CBV流程是差不多的,但是在一些关键方法APIView会有一些添加的代码,自定义自己的方法

1、定义url

这一步与使用View的CBV是一样的

技术分享图片

2、定义视图类

技术分享图片

3、查看APIView类中的as_view

APIView还是继承view类的,但会有一些自定义的方法

技术分享图片

 

 技术分享图片

4、APIView自己的dispatch

由于as_view方法也是继承的父类View的as_view方法,所以接下来的流程都是一样,只不过,当在执行dispatch方法的时候它执行的APIView自己的实例方法

技术分享图片

APIView 的url视图函数的执行

     #url(r‘^publishes/‘, views.PublishView.as_view()),
     #url(r‘^publishes/‘, APIView.as_view()),
     #url(r‘^publishes/‘, APIView.as_view()),
     #url(r‘^publishes/‘, View.view),

 

rest-framework(APIView)源码

标签:补充   alt   pre   work   自定义   分享   inview   ram   login   

原文地址:https://www.cnblogs.com/Yang-Sen/p/9396226.html

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