首页 > 其他 > 详细

REST framework

时间:2019-05-26 13:16:11      阅读:114      评论:0      收藏:0      [点我收藏+]

阅读目录

一、APIView & View

二、


APIView & View

  • View
    • 路径:django.views.View
    • 使用:
      • urls: path(‘xxx/‘, views.xxxx.as_view(), name=‘xxx‘)
      • 视图:class xxxx(View):
  • ApiView
    • 路径:from rest_framework.views import APIView
    • 使用:
      • urls: path(‘xxx/‘, views.xxAPI.as_view(), name=‘xxx‘)
      • 视图:class xxAPI(APIView):
    • APIView继承View,重写as_view(),增加扩展配置

源码分析  

技术分享图片
restframework 下的APIView--源码分析
        
    url(r^books/$, views.BookView.as_view(),name="books")#  View下的view

    books/一旦被访问: view(request) ------APIView: dispatch()
        
    def dispatch():
        
        构建request对象
    self.request=Request(request)
    self.request._request
    self.request.GET  # get
    self.request.data # POST  PUT
          
    分发----if get请求:
    if request.method.lower() in self.http_method_names:
        handler = getattr(self, request.method.lower(),
                                    self.http_method_not_allowed)
    else:
        handler = self.http_method_not_allowed   

    response = handler(request, *args, **kwargs) # self.get(request, *args, **kwargs)
                    
    return response            
restframework 下的APIView--源码分析

 

 

  

 

REST framework

原文:https://www.cnblogs.com/zhangliang91/p/10925706.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!