summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorRussell Keith-Magee <russell@keith-magee.com>2010-03-12 16:45:29 +0000
committerRussell Keith-Magee <russell@keith-magee.com>2010-03-12 16:45:29 +0000
commit794690c272fd7e9ee00242980e461214fcd80fcf (patch)
tree895031b8ed6cc830d5b17b4a3a7e0b3d9e7b1f51 /django
parent4120a181e9109383ab35df52dbb3621302a75a72 (diff)
Fixed #13090 -- Corrected handling of errors in middleware when DEBUG=False. Thanks to EroSennin for the report, and Ivan Sagalaev for the patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12773 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
-rw-r--r--django/core/handlers/base.py19
1 files changed, 9 insertions, 10 deletions
diff --git a/django/core/handlers/base.py b/django/core/handlers/base.py
index d735cd7cc5..dac0adfb93 100644
--- a/django/core/handlers/base.py
+++ b/django/core/handlers/base.py
@@ -70,10 +70,10 @@ class BaseHandler(object):
try:
try:
- # Reset the urlconf for this thread.
- urlresolvers.set_urlconf(None)
- # Obtain a default resolver. It's needed early for handling 404's.
- resolver = urlresolvers.RegexURLResolver(r'^/', None)
+ # Setup default url resolver for this thread.
+ urlconf = settings.ROOT_URLCONF
+ urlresolvers.set_urlconf(urlconf)
+ resolver = urlresolvers.RegexURLResolver(r'^/', urlconf)
# Apply request middleware
for middleware_method in self._request_middleware:
@@ -81,12 +81,11 @@ class BaseHandler(object):
if response:
return response
- # Get urlconf from request object, if available. Otherwise use default.
- urlconf = getattr(request, "urlconf", settings.ROOT_URLCONF)
- # Set the urlconf for this thread to the one specified above.
- urlresolvers.set_urlconf(urlconf)
- # Reset the resolver with a possibly new urlconf
- resolver = urlresolvers.RegexURLResolver(r'^/', urlconf)
+ if hasattr(request, "urlconf"):
+ # Reset url resolver with a custom urlconf.
+ urlconf = request.urlconf
+ urlresolvers.set_urlconf(urlconf)
+ resolver = urlresolvers.RegexURLResolver(r'^/', urlconf)
callback, callback_args, callback_kwargs = resolver.resolve(
request.path_info)