summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2007-09-16 11:27:40 +0000
committerMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2007-09-16 11:27:40 +0000
commitc694587ebbf7a45d3e6f91f5bfc4e81001c03d97 (patch)
tree040caaa397c789cd8a99674424963f6e6293c686
parente988aa39894f0ac8ac30cb3a35d785f087dc0dfd (diff)
Fixed #4049 -- Improved error handling in auth() context processor. Based on a patch from gregorth.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6356 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/core/context_processors.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/django/core/context_processors.py b/django/core/context_processors.py
index 3c826b1a7d..55c19c17e8 100644
--- a/django/core/context_processors.py
+++ b/django/core/context_processors.py
@@ -13,11 +13,19 @@ def auth(request):
"""
Returns context variables required by apps that use Django's authentication
system.
+
+ If there is no 'user' attribute in the request, uses AnonymousUser (from
+ django.contrib.auth).
"""
+ if hasattr(request, 'user'):
+ user = request.user
+ else:
+ from django.contrib.auth.models import AnonymousUser
+ user = AnonymousUser()
return {
- 'user': request.user,
- 'messages': request.user.get_and_delete_messages(),
- 'perms': PermWrapper(request.user),
+ 'user': user,
+ 'messages': user.get_and_delete_messages(),
+ 'perms': PermWrapper(user),
}
def debug(request):