这里写一些补充关于之前的Authenticate方法
全局IsAuthenticate设置是在setting文件中添加,比如下面
REST_FRAMEWORK={
........
# 'DEFAULT_PERMISSION_CLASSES': (
# 'rest_framework.permissions.IsAuthenticated',
# )
}
这里面的代码是把所有的View视图函数调用时都会进行这个验证方法,我这里注释掉是因为无论什么情况下你的View视图都会调用这个方法验证一次,这有时候是没有必要的,所以我用局部的Authenticate来进行验证
from rest_framework.permissions import IsAuthenticated
class EmailSendView(UpdateAPIView):
serializer_class = serializers.EmailSendSerializer
# 添加局部验证
permission_classes = (IsAuthenticated,)
def get_object(self):
return self.request.user
IsAuthenticated方法会验证是否登录,这在前端用户通过header发送JWT时候进行验证,如果用户有JWT,并且能够将其解码成用户实例,则认证成功