diff options
| -rw-r--r-- | README.rst | 4 | ||||
| -rw-r--r-- | debug_toolbar/middleware.py | 13 | 
2 files changed, 16 insertions, 1 deletions
| @@ -114,6 +114,9 @@ The debug toolbar has two settings that can be set in `settings.py`:       off is useful when you have large template contexts, or you have template       contexts with lazy datastructures that you don't want to be evaluated. +   * `TAG`: If set, this will be the tag to which debug_toolbar will attach the  +     debug toolbar. Defaults to 'body'. +     Example configuration::  	def custom_show_toolbar(request): @@ -124,6 +127,7 @@ The debug toolbar has two settings that can be set in `settings.py`:  	    'SHOW_TOOLBAR_CALLBACK': custom_show_toolbar,  	    'EXTRA_SIGNALS': ['myproject.signals.MySignal'],  	    'HIDE_DJANGO_SQL': False, +	    'TAG': 'div',  	}  `debugsqlshell` diff --git a/debug_toolbar/middleware.py b/debug_toolbar/middleware.py index 558019c..86f13cb 100644 --- a/debug_toolbar/middleware.py +++ b/debug_toolbar/middleware.py @@ -37,12 +37,20 @@ class DebugToolbarMiddleware(object):          # Set method to use to decide to show toolbar          self.show_toolbar = self._show_toolbar # default + +        # The tag to attach the toolbar to +        self.tag= u'</body>' +          if hasattr(settings, 'DEBUG_TOOLBAR_CONFIG'):              show_toolbar_callback = settings.DEBUG_TOOLBAR_CONFIG.get(                  'SHOW_TOOLBAR_CALLBACK', None)              if show_toolbar_callback:                  self.show_toolbar = show_toolbar_callback +            tag = settings.DEBUG_TOOLBAR_CONFIG.get('TAG', None) +            if tag: +                self.tag = u'</' + tag + u'>' +      def _show_toolbar(self, request):          if not request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS \                  or request.is_ajax() or not settings.DEBUG: @@ -83,6 +91,9 @@ class DebugToolbarMiddleware(object):              for panel in self.debug_toolbars[request].panels:                  panel.process_response(request, response)              if response['Content-Type'].split(';')[0] in _HTML_TYPES: -                response.content = replace_insensitive(smart_unicode(response.content), u'</body>', smart_unicode(self.debug_toolbars[request].render_toolbar() + u'</body>')) +                response.content = replace_insensitive( +                    smart_unicode(response.content),  +                    self.tag, +                    smart_unicode(self.debug_toolbars[request].render_toolbar() + self.tag))          del self.debug_toolbars[request]          return response | 
