程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

django rest framework框架中用到的組件

編輯:Python

1、Authentication:認證類

可以提供全局認證或者在具體的視圖中通過設置authentication_classes類屬性來設置來設置。

2、Permissions:權限類

在繼承了APIView的類視圖中定義permission_classes = [permissions.IsAuthenticated]

AllowAny 允許所有用戶
IsAuthenticated 僅通過登錄認證的用戶
IsAdminUser 僅管理員用戶
IsAuthenticatedOrReadOnly 已經登陸認證的用戶可以對數據進行增刪改操作,沒有登陸認證的只能查看數據。

3、Throttling:限流類

可以對接口訪問的頻次進行限制,以減輕服務器壓力,或者實現特定的業務。

4、Filtering:過濾類

對於列表數據可能需要根據字段進行過濾,我們可以通過添加django-fitlter擴展來增強支持。

5、OrderingFilter:排序類

對於列表數據,REST framework提供了OrderingFilter過濾器來幫助我們快速指明數據按照指定字段進行排序

6、Pagination:分頁類

REST framework提供了分頁的支持。我們可以在配置文件中設置全局的分頁方式。也可通過自定義Pagination類(繼承PageNumberPagination),來為視圖添加不同分頁行為。在視圖中通過pagination_class屬性來指明。

7、Exceptions:異常處理類

REST framework提供了默認常處理,我們也可以自定義的方式來編寫異常處理函數。 在主應用的配置文件settings.py中聲明自定義的異常處理。

DRF中默認的異常

ParseError 解析錯誤
AuthenticationFailed 認證失敗
NotAuthenticated 尚未認證
PermissionDenied 權限受限
NotFound 未找到路由
MethodNotAllowed 請求方式不支持
NotAcceptable 要獲取的數據格式不支持
Throttled 超過限流次數
ValidationError 校驗失敗

8、自動生成接口文檔:

DRF 需要安裝 coreapi庫的支持。

pip install coreapi

1) 設置接口文檔訪問路徑

REST_FRAMEWORK = {
 # 。。。 其他選項 # 接口文檔 
'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.AutoSchema', }

2)路由配置

from rest_framework.documentation import include_docs_urls
urlpatterns = [
...
path('docs/', include_docs_urls(title='站點頁面標題'))
]

3) 訪問接口文檔網頁

浏覽器訪問 127.0.0.1:8000/docs/,即可看到自動生成的接口文檔。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved