Skip to content

Commit 2302668

Browse files
Revised middleware for ajax
1 parent 1e50c18 commit 2302668

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

debug_toolbar/middleware.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ def process_request(self, request):
9999
toolbar = DebugToolbar(request)
100100
for panel in toolbar.panels:
101101
panel.process_request(request)
102+
102103
self.__class__.debug_toolbars[thread.get_ident()] = toolbar
103104

104105
def process_view(self, request, view_func, view_args, view_kwargs):
@@ -116,8 +117,22 @@ def process_view(self, request, view_func, view_args, view_kwargs):
116117
def process_response(self, request, response):
117118
__traceback_hide__ = True
118119
ident = thread.get_ident()
120+
119121
toolbar = self.__class__.debug_toolbars.get(ident)
122+
120123
if not toolbar or request.is_ajax():
124+
for panel in toolbar.panels:
125+
panel.process_response(request, response)
126+
127+
rendered = toolbar.render_toolbar()
128+
from django.utils import simplejson
129+
rendered = simplejson.dumps({'rendered':rendered})
130+
131+
if '{replace}' not in response.content:
132+
if response.content[-1] == '}':
133+
response.content = response.content[:-1] + ', "replace":"{replace}"}'
134+
135+
response.content = response.content.replace('"{replace}"', rendered)
121136
return response
122137
if isinstance(response, HttpResponseRedirect):
123138
if not toolbar.config['INTERCEPT_REDIRECTS']:

0 commit comments

Comments
 (0)