Django Rest Framework的一个片段:
class IsAuthenticated(BasePermission):
def has_permission(self, request, view):
return request.user and is_authenticated(request.user)
def is_authenticated(user):
if django.VERSION < (1, 10):
return user.is_authenticated()
return user.is_authenticated
是否有一个实际且相关的案例,我自己的代码会从上面返回意外或不同的结果?
class IsAuthenticated(BasePermission):
def has_permission(self, request, view):
return request.user.is_authenticated
答案 0 :(得分:0)
如果未定义request.user,则会出错。换句话说,如果未标识用户,则尚未将其添加到请求对象中。
如果您对向后兼容性不感兴趣,我想您可以这样做:
return request.user and request.user.is_authenticated