From d112cc5ed14fa97eb187aa7f0b38318ea03d77dc Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Fri, 18 Oct 2013 22:34:29 +0200 Subject: Make show_toolbar available for easier customization. Thanks Ned Batchelder for the suggestion. Fix #324. --- debug_toolbar/middleware.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'debug_toolbar/middleware.py') diff --git a/debug_toolbar/middleware.py b/debug_toolbar/middleware.py index 29da751..214d895 100644 --- a/debug_toolbar/middleware.py +++ b/debug_toolbar/middleware.py @@ -34,6 +34,19 @@ def replace_insensitive(string, target, replacement): return string +def show_toolbar(request): + """ + Default function to determine whether to show the toolbar on a given page. + """ + if getattr(settings, 'TEST', False): + return False + + if request.META.get('REMOTE_ADDR', None) not in settings.INTERNAL_IPS: + return False + + return bool(settings.DEBUG) + + class DebugToolbarMiddleware(object): """ Middleware to set up Debug Toolbar on incoming request and render toolbar @@ -49,7 +62,7 @@ class DebugToolbarMiddleware(object): self._urlconfs = {} # Set method to use to decide to show toolbar - self.show_toolbar = self._show_toolbar # default + self.show_toolbar = show_toolbar # The tag to attach the toolbar to self.tag = '' @@ -64,15 +77,6 @@ class DebugToolbarMiddleware(object): if tag: self.tag = '' - def _show_toolbar(self, request): - if getattr(settings, 'TEST', False): - return False - - remote_addr = request.META.get('REMOTE_ADDR', None) - - # if not internal ip, and not DEBUG - return remote_addr in settings.INTERNAL_IPS and bool(settings.DEBUG) - def process_request(self, request): __traceback_hide__ = True if self.show_toolbar(request): -- cgit v1.2.3