explaingit

django-commons/django-debug-toolbar

8,359PythonAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

A floating developer panel that attaches to your Django app during local development and shows database queries, cache hits, template rendering, HTTP headers, and more for every page request.

Mindmap

mindmap
  root((Debug Toolbar))
    What it shows
      Database queries
      Cache usage
      HTTP headers
      Template rendering
    How to use
      Dev only
      Floating panel
      Click to expand
    Setup
      Add to INSTALLED_APPS
      Include URLs
      Dev settings only
    Compatibility
      Django 5.2+
      Async views beta
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Identify slow or redundant database queries causing page lag by seeing every SQL statement and its execution time.

USE CASE 2

Debug unexpected HTTP redirects or missing cache hits during Django development without digging through server logs.

USE CASE 3

Inspect which templates and context variables rendered a specific page to track down display bugs.

Tech stack

PythonDjangoJavaScriptHTMLCSS

Getting it running

Difficulty · easy Time to first run · 30min

Never enable on a production site, the toolbar exposes internal app details to anyone who can load the page.

Use, modify, and distribute freely for any purpose including commercial projects, as long as you keep the BSD copyright notice.

In plain English

Django Debug Toolbar is a developer tool that adds a floating panel to Django web applications while you are building them. Django is a Python framework for building websites and web apps. The toolbar appears in the browser during local development and shows detailed information about what is happening behind the scenes for each page request. The toolbar is organized into separate panels, each covering a different aspect of a request. One panel might show all the database queries a page triggered and how long each one took. Others show information about the HTTP headers, cache usage, template rendering, signals, logging output, and more. Clicking any panel expands it to show the full details. This makes it much easier to spot slow database queries, unexpected redirects, or configuration issues without having to dig through server logs. The toolbar is intended only for use during development, not on a live production site. It adds overhead and exposes internal details that should not be visible to end users. Installation involves adding it to your Django project's settings file, listing it as an installed app, and including its URL configuration. The README is short and points to a separate documentation site for full setup instructions. The current release is version 6.3.0 and requires Django 5.2 or newer. It has experimental support for Django's asynchronous views, though the README notes it cannot yet handle concurrent requests reliably and asks users to report any bugs they find. The project was originally created in 2008 and is now maintained under the django-commons GitHub organization. It is released under the BSD license.

Copy-paste prompts

Prompt 1
Walk me through installing django-debug-toolbar in a Django 5.2 project: the INSTALLED_APPS setting, middleware order, URL config, and how to verify the panel appears in the browser.
Prompt 2
My Django list page is slow and I suspect N+1 database queries. Using django-debug-toolbar's SQL panel, how do I identify the repeated queries and fix them with select_related() or prefetch_related()?
Prompt 3
Show me how to create a custom debug panel for django-debug-toolbar that tracks and displays all outbound HTTP requests my Django views make to external APIs.
Open on GitHub → Explain another repo

← django-commons on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.