AnonymousUser is Django’s request-level user object for someone who is not authenticated. Its is_authenticated attribute is always False, and it has no related UserProfile. section 7.4.3
Treat AnonymousUser as a normal request possibility, not as a user with a missing password:
- Avoid accessing request.user.userprofile without checking whether the profile exists. section 7.4.3
- Use @login_required when venue information should be restricted. section 7.4.3
