DRF 框架其他功能

2021-08-25 16:43:18 字數 1524 閱讀 8834

drf框架

其他功能

1)認證&許可權

2)限流

控制使用者訪問api介面的頻率。

針對匿名使用者和認證使用者分別進行限流。

# 限流(針對匿名使用者和認證使用者分別進行限流控制)

'default_throttle_classes': (

'rest_framework.throttling.anonratethrottle', # 針對匿名使用者

'rest_framework.throttling.userratethrottle' # 針對認證使用者

),# 限流頻次設定

'default_throttle_rates': ,

針對匿名使用者和認證使用者統一進行限流。

# 限流(針對匿名使用者和認證使用者進行統一限流控制)

'default_throttle_classes': (

'rest_framework.throttling.scopedratethrottle',

),'default_throttle_rates': ,

3)過濾&排序

4)分頁

兩種分頁方式pagenumberpagination和limitoffsetpagination。

使用pagenumberpagination分頁時,獲取分頁資料時可以通過page傳遞頁碼引數。如果想要分頁時指定頁容量,需要自定義分頁類。

class standardresultpagination(pagenumberpagination):

# 預設頁容量

page_size = 3

# 指定頁容量引數名稱

page_size_query_param = 'page_size'

# 最大頁容量

max_page_size = 5

使用limitoffsetpagination分頁時,獲取分頁資料時可以傳遞引數offset(偏移量)和limit(限制條數)。

注:如果使用的全域性分頁設定,某個列表檢視如果不需要分頁,直接在檢視類中設定pagination_class = none。

5)異常

drf自帶異常處理功能,可以對某些特定的異常進行處理並返回給客戶端組織好的錯誤資訊。能夠處理的異常如下:

apiexception 所有異常的父類

parseerror 解析錯誤

authenticationfailed 認證失敗

notauthenticated 尚未認證

permissiondenied 許可權決絕

notfound 未找到

methodnotallowed 請求方式不支援

notacceptable 要獲取的資料格式不支援

throttled 超過限流次數

validationerror 校驗失敗

可以自定義drf框架的異常處理函式(補充一些異常處理)並指定exception_handler配置項。

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...