Django Control Room
A framework for building Django admin tools and a growing suite of operational panels for your project.
Django Control Room is a plugin framework for building Django admin tools (called "panels"), and a suite of official panels for services like Redis, Celery, and caches, plus Django internals like URLs and Signals. Every panel, official or third-party, is a small independent Python package built on the public plugin API in dj-control-room-base.
Install dj-control-room and it discovers compatible panels via Python entry points, renders them in a centralized dashboard, and gives them a shared design system, permissions model, and admin sidebar integration.
Features
- Plugin framework - build admin tools on dj-control-room-base; custom panels behave like the official ones
- Centralized dashboard - installed panels are discovered automatically and shown in one place
- Shared UI - responsive design and dark mode via a common design system; theme adapters for popular admin skins
- Secure - package verification and staff-gated access
- Official panels - pre-built panels for common operational tasks
- AI agent integration (MCP) - one MCP endpoint aggregates every installed panel's tools (see Configuration)
Quick start
# Core only
pip install dj-control-room
# With specific official panels
pip install dj-control-room[redis,cache,urls]
# Or with all official panels
pip install dj-control-room[all]
Add dj_control_room_base (required core library), your panels, then dj_control_room (so they appear under one admin section):
INSTALLED_APPS = [
# ...
"dj_control_room_base",
"dj_redis_panel",
"dj_cache_panel",
"dj_urls_panel",
"dj_control_room",
]
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),
]
python manage.py migrate
Then visit http://localhost:8000/admin/dj-control-room/.
For the full walkthrough, settings (sidebar behavior, MCP), and theme adapters, see Installation, Configuration, and Theme Adapters.
Official panels
| Panel | Description | Install |
|---|---|---|
| Redis Panel | Monitor connections, inspect keys, view memory usage | pip install dj-redis-panel |
| Cache Panel | Inspect cache entries, view hit/miss ratios | pip install dj-cache-panel |
| URLs Panel | Browse URL patterns, test resolvers | pip install dj-urls-panel |
| Celery Panel | Monitor workers, track task queues | pip install dj-celery-panel |
| Signals Panel | Inspect Django signals and receivers | pip install dj-signals-panel |
Creating custom panels
pip install cookiecutter
cookiecutter https://github.com/django-control-room/cookiecutter-dj-control-room-plugin
For a full guide, see Creating Panels or the build your own panel walkthrough.
Documentation
- Official site: djangocontrolroom.com
- Full docs: django-control-room.github.io/dj-control-room
| Page | Contents |
|---|---|
| Installation | Install, INSTALLED_APPS, URLs |
| Configuration | Settings, sidebar, CSS, MCP |
| Scopes | Permission scopes |
| Theme Adapters | Supported admin skins and screenshots |
| Creating Panels | Build custom panels |
| API Reference | Public API |
Requirements
- Python 3.9+
- Django 4.2+
Contributing
See the Contributing Guide.
License
MIT. See LICENSE.
Credits
Created by Yasser Toruno
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dj_control_room-1.7.1.tar.gz.
File metadata
- Download URL: dj_control_room-1.7.1.tar.gz
- Upload date:
- Size: 1.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9ff66f74c7d11ffbab8ebc30c6404783660de47995256aa4eb2e5fc2403e848
|
|
| MD5 |
1322b465271015b126fc223efc3a7784
|
|
| BLAKE2b-256 |
3f35b5dc9e52593661486ccbb95e3b848f093cef1b8de509289776a21e4a9544
|
Provenance
The following attestation bundles were made for dj_control_room-1.7.1.tar.gz:
Publisher:
python-publish.yml on django-control-room/dj-control-room
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dj_control_room-1.7.1.tar.gz -
Subject digest:
d9ff66f74c7d11ffbab8ebc30c6404783660de47995256aa4eb2e5fc2403e848 - Sigstore transparency entry: 2424137547
- Sigstore integration time:
-
Permalink:
django-control-room/dj-control-room@8a159a1f4f7333583432b03eb7371792e4551796 -
Branch / Tag:
refs/tags/1.7.1 - Owner: https://github.com/django-control-room
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@8a159a1f4f7333583432b03eb7371792e4551796 -
Trigger Event:
release
-
Statement type:
File details
Details for the file dj_control_room-1.7.1-py3-none-any.whl.
File metadata
- Download URL: dj_control_room-1.7.1-py3-none-any.whl
- Upload date:
- Size: 1.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c36c7c0c66f1023c8b1cf74480dd6350a6098a3623dd0b4f553d07637b57f47b
|
|
| MD5 |
d05d9f60e0e105b5059a574bd0afc933
|
|
| BLAKE2b-256 |
e6dbf9c8cb0bb6392aa8ac87d952f4c0cc6d3591e03f96e8d8c36cbf62833c22
|
Provenance
The following attestation bundles were made for dj_control_room-1.7.1-py3-none-any.whl:
Publisher:
python-publish.yml on django-control-room/dj-control-room
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dj_control_room-1.7.1-py3-none-any.whl -
Subject digest:
c36c7c0c66f1023c8b1cf74480dd6350a6098a3623dd0b4f553d07637b57f47b - Sigstore transparency entry: 2424137576
- Sigstore integration time:
-
Permalink:
django-control-room/dj-control-room@8a159a1f4f7333583432b03eb7371792e4551796 -
Branch / Tag:
refs/tags/1.7.1 - Owner: https://github.com/django-control-room
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@8a159a1f4f7333583432b03eb7371792e4551796 -
Trigger Event:
release
-
Statement type: