The Django admin panel that matters
Project description
Django Doom Panel
The Django admin panel that matters.
Every project eventually asks the same question: Can it run DOOM?
Yes. Yes it can.
dj-doom-panel adds a fully playable DOOM panel to your Django admin interface. It sits right there in your sidebar, between your cache monitor and your Celery queue. Just where it belongs.
Installation
pip install dj-doom-panel dj-control-room
Add to INSTALLED_APPS:
INSTALLED_APPS = [
...
"dj_control_room_base",
"dj_doom_panel",
"dj_control_room",
...
]
Add to urls.py:
from django.urls import path, include
urlpatterns = [
path("admin/dj-doom-panel/", include("dj_doom_panel.urls")),
path("admin/dj-control-room-base/", include("dj_control_room_base.urls")),
path("admin/dj-control-room/", include("dj_control_room.urls")),
path("admin/", admin.site.urls),
]
That's it. Open your admin. Click DOOM.
Configuration
All settings are optional. Add a DJ_DOOM_PANEL_SETTINGS dict to your Django settings to override any of them:
DJ_DOOM_PANEL_SETTINGS = {
"ALLOWED_GROUPS": [],
"REQUIRE_SUPERUSER": False,
"LOAD_DEFAULT_CSS": True,
"EXTRA_CSS": [],
}
Access control
By default, any staff user can access the panel. The permission settings below are inherited from dj-control-room-base.
| Setting | Type | Default | Description |
|---|---|---|---|
ALLOWED_GROUPS |
list[str] |
[] |
Django group names allowed to access the panel. An empty list means any staff user is allowed. |
REQUIRE_SUPERUSER |
bool |
False |
Restrict the panel to superusers only. |
Superusers always bypass group checks.
CSS
| Setting | Type | Default | Description |
|---|---|---|---|
LOAD_DEFAULT_CSS |
bool |
True |
Load the shared design-system stylesheet. Set to False if a parent template already loads it. |
EXTRA_CSS |
list[str] |
[] |
Additional stylesheets to inject. Relative paths resolve through Django's staticfiles; absolute URLs are used as-is. |
Requirements
- Django 4.2+
- dj-control-room >= 1.3.0
- dj-control-room-base >= 1.0.0
How it works
The panel embeds js-dos v8 — a DOSBox-powered DOS emulator that runs in the browser via WebAssembly. The game bundle (DOOM1.WAD + DOOM.EXE) is the DOOM shareware v1.9, which id Software has explicitly made freely distributable.
The bundle is shipped as a Django static file and served directly from your own application — no external CDN required. The game works offline once your static files are collected.
CSP note
If your project uses a Content Security Policy, you'll need to allow v8.js-dos.com for script-src, style-src, connect-src, and worker-src (for the js-dos emulator runtime itself).
Controls
| Key | Action |
|---|---|
| Arrow keys | Move / turn |
| Ctrl | Fire |
| Space | Use / open |
| Shift | Run |
| Alt + Arrow | Strafe |
Part of the dj-control-room ecosystem
dj-doom-panel is a plugin for dj-control-room, a framework for building operational admin panels in Django. Other panels in the ecosystem include cache inspection, Redis monitoring, and Celery queue management.
All critically important, of course.
License
MIT
DOOM is a trademark of id Software LLC. dj-doom-panel is an unaffiliated fan project and is not endorsed by id Software, ZeniMax, or Bethesda.
Project details
Release history Release notifications | RSS feed
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_doom_panel-0.1.0.tar.gz.
File metadata
- Download URL: dj_doom_panel-0.1.0.tar.gz
- Upload date:
- Size: 2.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
468810774805636578e3dedd25037454c84cd5a1e4703f17a63cff78ac0ed065
|
|
| MD5 |
40f93cd7f6acf5ab20a6164253ab86a1
|
|
| BLAKE2b-256 |
68b9ad83a68144cb8e4add704d4977df73455374977140a519b13d3cdc66ca34
|
File details
Details for the file dj_doom_panel-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dj_doom_panel-0.1.0-py3-none-any.whl
- Upload date:
- Size: 2.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de0dd9a7f2462d46820896e885af7fbabc224b345e7a14b2b8b5f3b5fb6f4862
|
|
| MD5 |
8189ace35b4225f54066932107db5e51
|
|
| BLAKE2b-256 |
2e9b909917646c5e3c2410b664bb4c40efd013b754513291c95b95c6fb8e564d
|