aboutsummaryrefslogtreecommitdiffstats
path: root/debug_toolbar/middleware.py
diff options
context:
space:
mode:
authorAymeric Augustin2013-10-31 13:28:03 +0100
committerAymeric Augustin2013-11-01 13:50:38 +0100
commitd4e5ef9e969b3cae675de2a602372ae7a639d0a2 (patch)
treef9f2aee35483545a3fa8a0a386bffcfd5007de44 /debug_toolbar/middleware.py
parent30180ec9a3d82752e309f5d0f9c685dec097e40d (diff)
downloaddjango-debug-toolbar-d4e5ef9e969b3cae675de2a602372ae7a639d0a2.tar.bz2
Add a checkbox to toggle panels from the frontend.
Fix #35.
Diffstat (limited to 'debug_toolbar/middleware.py')
-rw-r--r--debug_toolbar/middleware.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/debug_toolbar/middleware.py b/debug_toolbar/middleware.py
index 76402bd..7988fd5 100644
--- a/debug_toolbar/middleware.py
+++ b/debug_toolbar/middleware.py
@@ -92,6 +92,10 @@ class DebugToolbarMiddleware(object):
toolbar = DebugToolbar(request)
for panel in toolbar.panels:
+ panel.disabled = panel.dom_id() in request.COOKIES
+ panel.enabled = not panel.disabled
+ if panel.disabled:
+ continue
panel.process_request(request)
self.__class__.debug_toolbars[threading.current_thread().ident] = toolbar
@@ -102,6 +106,8 @@ class DebugToolbarMiddleware(object):
return
result = None
for panel in toolbar.panels:
+ if panel.disabled:
+ continue
response = panel.process_view(request, view_func, view_args, view_kwargs)
if response:
result = response
@@ -128,6 +134,8 @@ class DebugToolbarMiddleware(object):
if ('gzip' not in response.get('Content-Encoding', '') and
response.get('Content-Type', '').split(';')[0] in _HTML_TYPES):
for panel in toolbar.panels:
+ if panel.disabled:
+ continue
panel.process_response(request, response)
response.content = replace_insensitive(
force_text(response.content, encoding=settings.DEFAULT_CHARSET),