Views

作者: xncode | 来源:发表于2017-08-29 15:24 被阅读0次

APIView是django的原生(View)[https://www.jianshu.com/p/327b40458a1f]的子类

通过重载as_view和dispatch

类变量

renderer_classes
parser_classes
authentication_class
throttle_classes
permission_class
content_negotiation_class
metadata_class
versioning_class

方法

as_view

另外设置了view函数的cls initkwargs

dispatch

设置了对象的变量 'args', 'kwargs', 'request'
调用initialize_request
设置了对象的变量 request headers
调用initial
调用用户函数,获取response
调用finalize_response,设置response到对象变量并返回

initialize_request

所接收的是django原生request

构建Request,接收参数有request,parsers,authenticators,negotiator,parser_context
分别对应parser_classes authentication_classes content_negotiation_class和一个包含了view args kwargs的parser_context

initial

所接收的是通过initialize_request构建好的Request

获取format_kwarg,从url中捕获得到,默认为format名称参数
进行内容协商,设置request的accepted_renderer accepted_media_type
获取version,设置request的version versioning_scheme
进行认证
校验权限
校验流量

finalize_response

如果返回的是Response,则确保设置了accepted_renderer accepted_media_type renderer_context
更新头部信息

相关文章

  • Views - Text Views

    原文在这里Text Views[https://developer.apple.com/design/human-...

  • 04 - Views and templates

    Views and templates Writing more views# polls/views.py # ...

  • Writing my first Django app - 4

    1. Writing more views polls/views.py Wire these new views...

  • HIG:Views - Activity Views

    自上次参加完回音分享会后,我下定决心要洗心革面乖乖打基础,于是开启了这个part,争取两个月不间断更新,写完Mat...

  • Views

    View Basics iOS app的UI由View对象组成,一个对象: 1. 是UIView或其子类的一个实例...

  • Views

    1、类通讯录列表筛选组件(SaluLetterSortLayout) 1.1 XML示例 1.1.1 组件引用 1...

  • views

    if you always do everything like to the water over the du...

  • Views

    Class-based Views REST框架提供了一个APIView类,它是Django中View类的子类。A...

  • Views

    APIView是django的原生(View)[https://www.jianshu.com/p/327b404...

  • Views

    ViewsBecause view objects are the main way your applicati...

网友评论

      本文标题:Views

      本文链接:https://www.haomeiwen.com/subject/nhwodxtx.html