I’ve lost some time with a bug in my app due to user authentication. I think that it’s a bit confusing but maybe someone can explain the reason and it will appear to me very logical.
The user.is_staff is a member variable while user.is_authenticated is a method. However is_authenticated only returns True or False depending if the class is User or AnonymousUser (see http://docs.djangoproject.com/en/dev/topics/auth/)
Is there a reason for that? Why user.is_authenticated is a method?
Thanks in advance
Because
is_staffis a database field andis_authenticatedis not (since that would be strange). Maybeis_authenticatedcould be turned into a property, but django devs must have decided, that making it a function would be clearer.