about 8 years ago
Just found a great tool for debugging Django applications, the Django debug toolbar provides a toolbar to your webpage when DEBUG=True. It looks like this:
https://github.com/django-debug-toolbar/django-debug-toolbar
The toolbar will provides a ton of information, such as:
- The number of database queries made while loading the apge
- The amount of time it took to load the page (similar to Chrome dev tools' Timeline feature)
- The content of your Settings file
- Content of the request and response headers
- The name and page of each static files loaded along with the current page
- Current page's template name and path
- If Caching is used, it shows the content of the cached objects and the time it took to load them
- Singals
- Logging messages
- Redirects
To install it:
pip install django-debug-toolbar
Then, in your settings.py:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles', # <- automatically added by Django, make sure it is not missing
'debug_toolbar', # <- add this
'myapp', # <- your app
)
# static url has to be defined
STATIC_URL = '/static/'
# pick and choose the panels you want to see
DEBUG_TOOLBAR_PANELS = [
'debug_toolbar.panels.versions.VersionsPanel',
'debug_toolbar.panels.timer.TimerPanel',
'debug_toolbar.panels.settings.SettingsPanel',
'debug_toolbar.panels.headers.HeadersPanel',
'debug_toolbar.panels.request.RequestPanel',
'debug_toolbar.panels.sql.SQLPanel',
'debug_toolbar.panels.staticfiles.StaticFilesPanel',
'debug_toolbar.panels.templates.TemplatesPanel',
'debug_toolbar.panels.cache.CachePanel',
'debug_toolbar.panels.signals.SignalsPanel',
'debug_toolbar.panels.logging.LoggingPanel',
'debug_toolbar.panels.redirects.RedirectsPanel',
]
That's it. Start your server by
python manage.py runser
Load up your page in the web browser, you should see a black vertical toolbar appearing on the right side of your page.