aboutsummaryrefslogtreecommitdiffstats
path: root/debug_toolbar/middleware.py
diff options
context:
space:
mode:
authorRob Hudson2008-09-30 13:22:17 -0700
committerRob Hudson2008-09-30 13:22:17 -0700
commit005f67ebbc37dca871fc211e1fc46b9299e4787b (patch)
tree2a055ecd5c2bff2f1641faf67d629b34dadf353c /debug_toolbar/middleware.py
parent8cd6346f67448855c11161132995e467984a7247 (diff)
downloaddjango-debug-toolbar-005f67ebbc37dca871fc211e1fc46b9299e4787b.tar.bz2
Adding redirect interception to the middleware to be able to view debug info
before being redirected to a new page. Thanks to [530] in IRC for the idea. Coming soon will be a way to optionally disable this.
Diffstat (limited to 'debug_toolbar/middleware.py')
-rw-r--r--debug_toolbar/middleware.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/debug_toolbar/middleware.py b/debug_toolbar/middleware.py
index 44a8b9d..58712d9 100644
--- a/debug_toolbar/middleware.py
+++ b/debug_toolbar/middleware.py
@@ -3,6 +3,8 @@ Debug Toolbar middleware
"""
import re
from django.conf import settings
+from django.http import HttpResponseRedirect
+from django.shortcuts import render_to_response
from django.utils.encoding import smart_str
from django.conf.urls.defaults import include, patterns
import debug_toolbar.urls
@@ -57,6 +59,13 @@ class DebugToolbarMiddleware(object):
def process_response(self, request, response):
if not self.debug_toolbar:
return response
+ if isinstance(response, HttpResponseRedirect):
+ redirect_to = response.get('Location', None)
+ if redirect_to:
+ response = render_to_response(
+ 'debug_toolbar/redirect.html',
+ {'redirect_to': redirect_to}
+ )
if response.status_code != 200:
return response
for panel in self.debug_toolbar.panels: