diff options
| author | Aymeric Augustin | 2013-11-11 17:54:48 +0100 | 
|---|---|---|
| committer | Aymeric Augustin | 2013-11-11 19:33:52 +0100 | 
| commit | eb244f71bfc9cdd5cb4341f98002e03de3414287 (patch) | |
| tree | 2608f0c8edc48c6bc5e7db7c9bdb5322c4f534c8 /debug_toolbar/models.py | |
| parent | ede259fb087b9049c68065cded70fa48861807f7 (diff) | |
| download | django-debug-toolbar-eb244f71bfc9cdd5cb4341f98002e03de3414287.tar.bz2 | |
Don't set up the toolbar when DEBUG = False.
Diffstat (limited to 'debug_toolbar/models.py')
| -rw-r--r-- | debug_toolbar/models.py | 45 | 
1 files changed, 30 insertions, 15 deletions
| diff --git a/debug_toolbar/models.py b/debug_toolbar/models.py index 772b52b..fc78874 100644 --- a/debug_toolbar/models.py +++ b/debug_toolbar/models.py @@ -20,6 +20,11 @@ def is_toolbar_middleware(middleware_path):      return issubclass(middleware_cls, DebugToolbarMiddleware) +def is_toolbar_middleware_installed(): +    return any(is_toolbar_middleware(middleware) +               for middleware in settings.MIDDLEWARE_CLASSES) + +  def prepend_to_setting(setting_name, value):      """Insert value at the beginning of a list or tuple setting."""      values = getattr(settings, setting_name) @@ -28,23 +33,33 @@ def prepend_to_setting(setting_name, value):      setattr(settings, setting_name, value + values) -if not settings.INTERNAL_IPS: -    prepend_to_setting('INTERNAL_IPS', '127.0.0.1') -    prepend_to_setting('INTERNAL_IPS', '::1') +def patch_internal_ips(): +    if not settings.INTERNAL_IPS: +        prepend_to_setting('INTERNAL_IPS', '127.0.0.1') +        prepend_to_setting('INTERNAL_IPS', '::1') + +def patch_middleware_classes(): +    if not is_toolbar_middleware_installed(): +        prepend_to_setting('MIDDLEWARE_CLASSES', +                           'debug_toolbar.middleware.DebugToolbarMiddleware') + + +def patch_root_urlconf(): +    try: +        reverse('djdt:render_panel') +    except NoReverseMatch: +        urlconf_module = import_module(settings.ROOT_URLCONF) +        urlconf_module.urlpatterns += patterns('',                      # noqa +            url(r'^__debug__/', include('debug_toolbar.urls', namespace='djdt', app_name='djdt')), +        ) -if not any(is_toolbar_middleware(middleware) -           for middleware in settings.MIDDLEWARE_CLASSES): -    prepend_to_setting('MIDDLEWARE_CLASSES', -                       'debug_toolbar.middleware.DebugToolbarMiddleware') -try: -    reverse('djdt:render_panel') -except NoReverseMatch: -    urlconf_module = import_module(settings.ROOT_URLCONF) -    urlconf_module.urlpatterns += patterns('', -        url(r'^__debug__/', include('debug_toolbar.urls', namespace='djdt', app_name='djdt')), -    ) +if settings.DEBUG: +    patch_internal_ips() +    patch_middleware_classes() +    patch_root_urlconf() -load_panel_classes() +if is_toolbar_middleware_installed(): +    load_panel_classes() | 
