Django Rest框架 APIView源码调用
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Django Rest框架 APIView源码调用
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                上一篇說(shuō)了請(qǐng)求訪問(wèn)的流程,這一篇說(shuō)一下請(qǐng)求對(duì)應(yīng)的源碼調(diào)用
- as_view - 定義view
- dispatch
 
- dispatch - initialize_request   - get_parsers ? ? ? ? ? ? ? (獲取解析器)
- parser_context ? ? ? ? ? ? ? ?(解析上下文)
- get_authentitors ? ? ? ? (獲取認(rèn)證器)
- get_context_negotiator ? ? ? ?(獲取上下文內(nèi)容)
 
- default_response_headers
- initial - get_format_suffix- kwargs上獲取的
- key是settings中配置的FORMAT_SUFFIX_KWARG
 
- perform_content_negotiation - get_renderers
- get_content_negotiator
 
- determine_version - versioning_class
 
- perform_authentication - request.user
- user是一個(gè)使用property修飾的函數(shù) - 獲取request._user
- 屬性不存在則執(zhí)行認(rèn)證過(guò)程
- 便利認(rèn)證器
- 調(diào)用認(rèn)證器的方法authenticate
- 如果認(rèn)證成功會(huì)返回一個(gè)元祖(user,auth),user和auth會(huì)被存到request
- 如果認(rèn)證出現(xiàn)異常,或者所有認(rèn)證器都沒有成功,或直接進(jìn)入_not_authenticated
 
- get_authenticators獲得的認(rèn)證器
 
- check_permissions - get_permissions
- 迭代
- 如果沒有權(quán)限,會(huì)permission_denied - 直接拋異常,讓程序終止
 
- 什么情況算是有權(quán)限 - 所有的權(quán)限器都無(wú)返回,has_permission都返回true
 
 
- check_throttles - get_throttles
- 節(jié)流起會(huì)有allow_request方法 - 返回True代表允許
- 返回False代表不允許 - 不允許就會(huì)Throttled
- 就是拋異常
 
 
 
 
- get_format_suffix
 
- initialize_request   
轉(zhuǎn)載于:https://www.cnblogs.com/wuygblog/p/10994473.html
總結(jié)
以上是生活随笔為你收集整理的Django Rest框架 APIView源码调用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: List - Map 工具类,list转
- 下一篇: Linux基础命令---apachect
