国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

python - django-rest-framework如何實(shí)現(xiàn)對view參數(shù)進(jìn)行認(rèn)證的

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

問題描述

比如有下面一個(gè)View,比較簡單:

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

這個(gè)GET方法會(huì)接受一個(gè)參數(shù)id,也就是用戶的ID,理想的狀態(tài)是只要進(jìn)入get方法內(nèi),那么這個(gè)用戶就是存在的,否則就直接拋404或者其他。

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

Q

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

不知道rest里面有沒有這種方法,可以在進(jìn)入View里面之前就可以做參數(shù)的驗(yàn)證,而不用在View里面。

問題解答

回答1:

請求不到的資源會(huì)自動(dòng)拋出404錯(cuò)誤

回答2:

rest的view中設(shè)置了authentication_classes,可以在進(jìn)入view函數(shù)之前進(jìn)行相應(yīng)的鑒權(quán),可以編寫定制的鑒權(quán)類,繼承authentication.BaseAuthentication類并實(shí)現(xiàn)authentication(self, request)方法,在該方法進(jìn)行你需要的邏輯判斷,返回相應(yīng)的錯(cuò)誤信息等。

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

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 萝北县| 安庆市| 留坝县| 沅江市| 江达县| 调兵山市| 曲阳县| 华坪县| 贵港市| 玉屏| 巨鹿县| 临泉县| 石首市| 扶余县| 赞皇县| 彭阳县| 壤塘县| 二连浩特市| 乳源| 米林县| 福州市| 文登市| 屏南县| 武宁县| 阿勒泰市| 开封市| 临城县| 石屏县| 常山县| 西城区| 克山县| 海伦市| 吴忠市| 奉节县| 平度市| 连城县| 张家川| 沙洋县| 若羌县| 大田县| 古丈县|