我正在使用以下mixin来检查用户是否属于某种类型:
class UserTypeXOnlyMixin(object):
@classmethod
def as_view(cls, **initkwargs):
view = super(UserTypeXOnlyMixin, cls).as_view(**initkwargs)
decorator = user_passes_test(lambda u: not u.is_anonymous() and u.type == u.TYPE_X)
return decorator(view)
问题在于,即使我首先检查not u.isanonymous()
的lambda函数,当注销用户访问我使用此mixin的视图时,此函数仍会抛出错误:{{1} }。我该如何避免这个问题?