Skip to content

Django Control Room Documentation

Django Control Room

Welcome to the Django Control Room documentation!

Official Site: djangocontrolroom.com

Getting Started

New to Django Control Room? Start here:

  1. Installation Guide - Install Django Control Room and panels
  2. Quick Start - Get up and running in 5 minutes
  3. Configuration - Customize behavior and settings

Quick Start

# Install with panels
pip install dj-control-room[all]
# settings.py
INSTALLED_APPS = [
    # ...
    'dj_redis_panel',
    'dj_cache_panel',
    'dj_urls_panel',
    'dj_control_room',  # list after panels so they appear in one section
]
# urls.py
urlpatterns = [
    path('admin/dj-redis-panel/', include('dj_redis_panel.urls')),
    path('admin/dj-cache-panel/', include('dj_cache_panel.urls')),
    path('admin/dj-urls-panel/', include('dj_urls_panel.urls')),
    path('admin/dj-control-room/', include('dj_control_room.urls')),
    path('admin/', admin.site.urls),
]

Visit: http://localhost:8000/admin/dj-control-room/

Django Control Room Dashboard

Documentation

User Guides

Developer Guides

Panel Documentation

Official panel documentation:

Features

Centralized Dashboard

All your admin panels in one unified dashboard. No more hunting through the admin sidebar.

Panel Grid

Plugin System

Install panels from PyPI with a single command:

pip install dj-control-room[redis,cache,urls,celery]

Beautiful UI

Modern, responsive design that looks great in both light and dark mode.

Secure by Default

  • Staff-only access
  • Package verification for official panels
  • Protection against panel hijacking

Official Panels

Pre-built panels for common Django tasks:

  • Redis Panel - Monitor Redis connections and inspect keys
  • Cache Panel - Inspect Django cache backends
  • URLs Panel - Browse and test URL patterns
  • Celery Panel - Monitor Celery tasks
  • Signals Panel (coming soon) - Debug Django signals
  • Error Panel (coming soon) - Monitor errors and exceptions

Architecture

Panel Discovery

Panels are discovered via Python entry points:

[project.entry-points."dj_control_room.panels"]
my_panel = "my_panel.panel:MyPanel"

When Django starts, Django Control Room: 1. Scans for entry points in the dj_control_room.panels group 2. Loads panel classes 3. Validates required attributes 4. Registers panels in the global registry

URL Structure

  • /admin/dj-control-room/ - Control Room dashboard
  • /admin/dj-redis-panel/ - Redis panel
  • /admin/dj-cache-panel/ - Cache panel
  • etc.

Panels are mounted at root level for clean URLs.

Admin Integration

Django Control Room automatically: 1. Creates proxy models for each panel 2. Registers them under "Django Control Room" in admin sidebar 3. Unregisters panel placeholder models (unless configured otherwise)

Requirements

  • Python 3.9+
  • Django 4.2+

Support

Need help? Here's how to get support:

Contributing

We welcome contributions! Please check the GitHub repository for contribution guidelines.

License

Django Control Room is licensed under the MIT License.

Credits

Created by Yasser Toruno


What's Next?