因为前端请求时携带了Authorization请求头(主要是JWT),而如果用户未登录,此请求头的JWT无意义(没有值),为了防止REST framework框架在验证此无意义的JWT时抛出401异常,在视图中需要做两个处理
重写perform_authentication()方法,此方法是REST framework检查用户身份的方法
在获取request.user属性时捕获异常,REST framework在返回user时,会检查Authorization请求头,无效的Authorization请求头会导致抛出异常
def perform_authentication(self, request):
"""让当前视图跳过DRF框架认证过程"""
pass