From e009bb394820c6753e6f6a36e9eb88fb61606248 Mon Sep 17 00:00:00 2001 From: tschilling Date: Wed, 16 Jul 2014 22:37:07 -0400 Subject: Added documentation around ProfilingPanel and problems with the middlware. Closes #497 --- docs/panels.rst | 19 +++++++++++++++++-- docs/tips.rst | 11 +++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/docs/panels.rst b/docs/panels.rst index f130552..4905385 100644 --- a/docs/panels.rst +++ b/docs/panels.rst @@ -105,19 +105,34 @@ Since this behavior is annoying when you aren't debugging a redirect, this panel is included but inactive by default. You can activate it by default with the ``DISABLE_PANELS`` configuration option. - Non-default built-in panels --------------------------- The following panels are disabled by default. You must add them to the ``DEBUG_TOOLBAR_PANELS`` setting to enable them. +.. _profiling-panel: + Profiling ~~~~~~~~~ Path: ``debug_toolbar.panels.profiling.ProfilingPanel`` -Profiling information for the view function. +Profiling information for the processing of the request. + +If the ``debug_toolbar.middleware.DebugToolbarMiddleware`` is first in +``MIDDLEWARE_CLASSES`` then the other middlewares' ``process_view`` methods +will not be executed. This is because ``ProfilingPanel.process_view`` will +return a ``HttpResponse`` which causes the other middlewares' +``process_view`` methods to be skipped. + +Note that the quick setup creates this situation, as it inserts +``DebugToolbarMiddleware`` first in ``MIDDLEWARE_CLASSES``. + +If you run into this issues, then you should either disable the +``ProfilingPanel`` or move ``DebugToolbarMiddleware`` to the end of +``MIDDLEWARE_CLASSES``. If you do the latter, then the debug toolbar won't +track the execution of other middleware. Third-party panels ------------------ diff --git a/docs/tips.rst b/docs/tips.rst index b65c3d6..d2d88dd 100644 --- a/docs/tips.rst +++ b/docs/tips.rst @@ -13,6 +13,17 @@ requests and return responses. Putting the debug toolbar middleware *after* the Flatpage middleware, for example, means the toolbar will not show up on flatpages. +Middleware isn't working correctly +---------------------------------- + +Using the Debug Toolbar in its default configuration and with the profiling +panel will cause middlewares after +``debug_toolbar.middleware.DebugToolbarMiddleware`` to not execute their +``process_view`` functions. This can be resolved by disabling the profiling +panel or moving the ``DebugToolbarMiddleware`` to the end of +``MIDDLEWARE_CLASSES``. Read more about it at +:ref:`ProfilingPanel ` + Using the toolbar offline ------------------------- -- cgit v1.2.3