drf框架
其他功能
1)認證&許可權
2)限流
控制使用者訪問api介面的頻率。
針對匿名使用者和認證使用者分別進行限流。
針對匿名使用者和認證使用者統一進行限流。# 限流(針對匿名使用者和認證使用者分別進行限流控制)
'default_throttle_classes': (
'rest_framework.throttling.anonratethrottle', # 針對匿名使用者
'rest_framework.throttling.userratethrottle' # 針對認證使用者
),# 限流頻次設定
'default_throttle_rates': ,
3)過濾&排序# 限流(針對匿名使用者和認證使用者進行統一限流控制)
'default_throttle_classes': (
'rest_framework.throttling.scopedratethrottle',
),'default_throttle_rates': ,
4)分頁
兩種分頁方式pagenumberpagination和limitoffsetpagination。
使用pagenumberpagination分頁時,獲取分頁資料時可以通過page傳遞頁碼引數。如果想要分頁時指定頁容量,需要自定義分頁類。
使用limitoffsetpagination分頁時,獲取分頁資料時可以傳遞引數offset(偏移量)和limit(限制條數)。class standardresultpagination(pagenumberpagination):
# 預設頁容量
page_size = 3
# 指定頁容量引數名稱
page_size_query_param = 'page_size'
# 最大頁容量
max_page_size = 5
注:如果使用的全域性分頁設定,某個列表檢視如果不需要分頁,直接在檢視類中設定pagination_class = none。
5)異常
drf自帶異常處理功能,可以對某些特定的異常進行處理並返回給客戶端組織好的錯誤資訊。能夠處理的異常如下:
可以自定義drf框架的異常處理函式(補充一些異常處理)並指定exception_handler配置項。apiexception 所有異常的父類
parseerror 解析錯誤
authenticationfailed 認證失敗
notauthenticated 尚未認證
permissiondenied 許可權決絕
notfound 未找到
methodnotallowed 請求方式不支援
notacceptable 要獲取的資料格式不支援
throttled 超過限流次數
validationerror 校驗失敗
6)介面文件
django框架 DRF工程之許可權功能
1.相對於flask,原生而言django,drf做的則更加的合理化,想要給予使用者相應的許可權,首先需要在settings中進行配置 rest framework deafault permission classes rest framework.permissions.isauthentica...
drf框架 基礎
目錄響應渲染模組 請求資料解析模組 響應模組 根據客戶端傳回的需求,進行路由匹配,呼叫相應的介面,然後介面執行完成的的資料,按照需要的格式進行返回。一般採用安全協議,因為介面都是對資料進行操作 在url中要體現介面的關鍵字api,如 或 介面操作的資料稱之為資源,前台請求資料的時候要採用資源的複數形...
DRF實現分頁功能
rest framework提供了分頁的支援。我們可以在配置檔案中設定全域性的分頁方式,如 rest framework 也可通過自定義pagination類,來為檢視新增不同分頁行為。在檢視中通過pagination clas屬性來指明。class largeresultssetpaginatio...