python - django-rest-framework如何实现对view参数进行认证的
PHP中文网
PHP中文网 2017-04-18 10:30:49
0
2
525

比如有下面一个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里面。

PHP中文网
PHP中文网

认证0级讲师

répondre à tous(2)
黄舟

Les ressources qui ne peuvent pas être demandées généreront automatiquement une erreur 404

左手右手慢动作

Les classes d'authentification sont définies dans la vue de repos. Vous pouvez effectuer l'authentification correspondante avant d'entrer dans la fonction d'affichage. Vous pouvez écrire une classe d'authentification personnalisée, hériter de la classe d'authentification.BaseAuthentication et implémenter la méthode d'authentification (self, request) et effectuer. l'authentification dans cette méthode. Le jugement logique dont vous avez besoin, renvoie les informations d'erreur correspondantes, etc.

Mais il est principalement utilisé pour l'authentification de l'utilisateur demandeur actuel. Par exemple, il est normal de l'écrire dans la vue pour déterminer si l'ID existe. Si plusieurs vues en ont besoin, vous pouvez écrire un décorateur.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal