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_staff
is a database field and is_authenticated
is not (since that would be strange). Maybe is_authenticated
could be turned into a property, but django devs must have decided, that making it a function would be clearer.