久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

python - django-rest-framework如何實現對view參數進行認證的

瀏覽:132日期:2022-08-11 10:12:24

問題描述

比如有下面一個View,比較簡單:

class UsersView(View): def get(self,request): ......

這個GET方法會接受一個參數id,也就是用戶的ID,理想的狀態是只要進入get方法內,那么這個用戶就是存在的,否則就直接拋404或者其他。

但現在的做法是在view里面做判斷用戶是否存在,然后再做不同的操作。

Q

class UsersView(View): authentication_classes = .... permission_classes = .... serializer_class = ....

不知道rest里面有沒有這種方法,可以在進入View里面之前就可以做參數的驗證,而不用在View里面。

問題解答

回答1:

請求不到的資源會自動拋出404錯誤

回答2:

rest的view中設置了authentication_classes,可以在進入view函數之前進行相應的鑒權,可以編寫定制的鑒權類,繼承authentication.BaseAuthentication類并實現authentication(self, request)方法,在該方法進行你需要的邏輯判斷,返回相應的錯誤信息等。

不過主要用作當前請求用戶的鑒權,像判斷ID是否存在在view里面寫很正常的,如果多個view都需要可以寫一個裝飾器即可。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 呼和浩特市| 永川市| 安顺市| 广平县| 习水县| 陵水| 文成县| 鹤峰县| 西峡县| 德格县| 云梦县| 濮阳市| 洮南市| 洛南县| 布拖县| 嘉荫县| 社会| 龙门县| 邯郸县| 长沙县| 吴忠市| 遂平县| 牟定县| 鄂尔多斯市| 高州市| 北辰区| 龙泉市| 海原县| 卓尼县| 讷河市| 大丰市| 纳雍县| 嘉鱼县| 蕉岭县| 龙海市| 金乡县| 宣恩县| 安义县| 祁连县| 新建县| 财经|