찾다

 >  Q&A  >  본문

python - django-rest-framework如何实现对view参数进行认证的

比如有下面一个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中文网2786일 전531

모든 응답(2)나는 대답할 것이다

  • 黄舟

    黄舟2017-04-18 10:32:49

    요청할 수 없는 리소스는 자동으로 404 오류가 발생합니다

    회신하다
    0
  • ringa_lee

    ringa_lee2017-04-18 10:32:49

    Authentication_classes는 나머지 뷰에 설정되어 있으며, 뷰 기능에 들어가기 전에 해당 인증을 수행할 수 있으며, 인증 클래스를 상속받아 인증(self, request) 메소드를 구현하고 수행할 수 있습니다. 이 방법으로 인증을 수행하고 필요한 논리적 판단, 해당 오류 정보 등을 반환합니다.

    그러나 주로 현재 요청하는 사용자를 인증하는 데 사용됩니다. 예를 들어 ID가 존재하는지 확인하기 위해 뷰에 작성하는 것이 일반적입니다.

    회신하다
    0
  • 취소회신하다