Django Rest框架 APIView源码调用
生活随笔
收集整理的這篇文章主要介紹了
Django Rest框架 APIView源码调用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上一篇說了請求訪問的流程,這一篇說一下請求對應的源碼調用
- as_view
- 定義view
- dispatch
- dispatch
- initialize_request
- get_parsers ? ? ? ? ? ? ? (獲取解析器)
- parser_context ? ? ? ? ? ? ? ?(解析上下文)
- get_authentitors ? ? ? ? (獲取認證器)
- get_context_negotiator ? ? ? ?(獲取上下文內容)
- 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是一個使用property修飾的函數
- 獲取request._user
- 屬性不存在則執行認證過程
- 便利認證器
- 調用認證器的方法authenticate
- 如果認證成功會返回一個元祖(user,auth),user和auth會被存到request
- 如果認證出現異常,或者所有認證器都沒有成功,或直接進入_not_authenticated
- get_authenticators獲得的認證器
- check_permissions
- get_permissions
- 迭代
- 如果沒有權限,會permission_denied
- 直接拋異常,讓程序終止
- 什么情況算是有權限
- 所有的權限器都無返回,has_permission都返回true
- check_throttles
- get_throttles
- 節流起會有allow_request方法
- 返回True代表允許
- 返回False代表不允許
- 不允許就會Throttled
- 就是拋異常
- get_format_suffix
- initialize_request
轉載于:https://www.cnblogs.com/wuygblog/p/10994473.html
總結
以上是生活随笔為你收集整理的Django Rest框架 APIView源码调用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: List - Map 工具类,list转
- 下一篇: 手把手教你报表工具PentahoBI安装