diff options
| author | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2007-09-16 11:27:40 +0000 |
|---|---|---|
| committer | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2007-09-16 11:27:40 +0000 |
| commit | c694587ebbf7a45d3e6f91f5bfc4e81001c03d97 (patch) | |
| tree | 040caaa397c789cd8a99674424963f6e6293c686 | |
| parent | e988aa39894f0ac8ac30cb3a35d785f087dc0dfd (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.py | 14 |
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): |
