blob: e56955fa7e8b7c520b0366f99f822d9745fdc974 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
====================
Django Debug Toolbar
====================
The Django Debug Toolbar is a configurable set of panels that display various
debug information about the current request/response. It is a small toolbar
that, when activated, situates itself in the top-right location of the browser
window. When particular panels are clicked, more details about that panel's
content are displayed.
Currently, the following panels have been written and are working:
- Django version
- SQL queries including time to execute
- Request timer
- Common HTTP headers
If you have ideas for other panels please let us know.
Installation
============
#. Add the `debug_toolbar` directory to your Python path.
#. Add the following middleware to your project's `settings.py` file:
``'debug_toolbar.middleware.DebugToolbarMiddleware',``
Tying into middleware allows each panel to be instantiated on request and
rendering to happen on response.
The order of MIDDLEWARE_CLASSES is important: the Debug Toolbar middleware
must come after any other middleware that encodes the response's content
(such as GZipMiddleware).
#. Add a tuple called `DEBUG_TOOLBAR_PANELS` to your ``settings.py`` file that
specifies the full Python path to the panel that you want included in the
Toolbar. This setting looks very much like the `MIDDLEWARE_CLASSES` setting.
For example::
DEBUG_TOOLBAR_PANELS = (
'debug_toolbar.panels.version.VersionDebugPanel',
'debug_toolbar.panels.sql.SQLDebugPanel',
'debug_toolbar.panels.timer.TimerDebugPanel',
'debug_toolbar.panels.headers.HeaderDebugPanel',
)
You can change the ordering of this tuple to customize the order of the
panels you want to display.
#. Add `debug_toolbar` to your `INSTALLED_APPS` setting so Django can find the
the template files associated with the Debug Toolbar.
#. The UI effects of the Toolbar currently depend on jQuery to be already
included in your templates. So currently to test out the toolbar jQuery
already needs to be loaded on the page. We'll need a solution for this at
some point.
TODO
====
- Add more panels
- Panel idea: Show some commonly used settings from settings.py
- Panel idea: Show GET and POST variables
- Panel idea: AJAX call to show cprofile data similar to the ?prof idea
- CSS Stylings
- Remove dependency on jQuery and come up with a general workable solution.
|