A modern Django Admin experience built with Tailwind CSS and progressive JavaScript enhancements.
Project description
DjangoAdmin.JS
A modern, responsive, and gorgeous Django Admin experience built with Tailwind CSS and progressive JavaScript enhancements.
[!WARNING] DjangoAdmin.JS is currently in BETA. We are actively refining features, fixing bugs, and collecting feedback. Some API behaviors or style configurations might change before the official v1.0.0 release. Contributions and bug reports are highly welcome!
Features a beautifully redesigned UI, customizable graphic styles (glassmorphism/minimalist), seamless AJAX page loads (no full page reloads), asynchronous form actions, and a Spotlight-like interactive Command Palette.
👉 Launch the Live Interactive Demo Page to experience it directly in your browser!
✨ Features & Capabilities
- 🎨 Tailwind CSS Driven & Modern UI: Sleek premium aesthetics with responsive layouts for mobile, tablet, and desktop viewports.
- 🌗 Dark Mode Support: Built-in support for dark themes with instant toggles and settings syncing.
- ⚡ Seamless AJAX Navigation (PJAX): Instant search, pagination, and sorting filtering without page reloads.
- 📩 Asynchronous Forms & Actions: Non-blocking form submissions and delete actions, with inline validation error styling and success toast notifications.
- ⚙️ Unified Configuration Settings: Easily configure global settings, default layout styles, and colors in
settings.py. - 🎭 Dynamic Layout Presets:
default: Clean rounded cards with soft shadows.glassmorphism: Frosty translucent glass panels with real-time backdrop blur.minimalist: High-contrast, borders-first layout with focused input outlines.
- 🔍 Raycast/Spotlight Command Palette (
Ctrl+K/Cmd+K): Live search bar with instant actions, styled command triggers (e.g./style glassmorphism,/color emerald,/mode dark), and quick view routes.
🚀 Quick Start
1. Installation
Install via pip:
pip install django-admin-js
2. Configuration
Add django_admin_js to your INSTALLED_APPS before django.contrib.admin:
INSTALLED_APPS = [
"django_admin_js", # Must be before admin
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
# ... your apps
]
3. Customization Options (Optional)
You can customize behaviors, visual styles, and color themes of DjangoAdmin.JS by adding the DJANGO_ADMIN_JS settings dictionary in your settings.py:
DJANGO_ADMIN_JS = {
# Enable/Disable Live Search (As-You-Type instant filtering in list views)
"LIVE_SEARCH": True,
# Enable/Disable the Header Theme & Layout Switcher popover widget
"THEME_PICKER": True,
# Initial color theme preset (defaults to "indigo" if not specified)
# Built-in presets: "indigo", "emerald", "amber", "rose", "violet", "ocean"
"DEFAULT_THEME": "indigo",
# Initial graphic layout style
# Options: "default", "glassmorphism", "minimalist"
"THEME_STYLE": "default",
# Map models/apps to icons.
# Supports FontAwesome classes (FontAwesome 6.4.0 is bundled),
# Heroicon keywords ("user", "users", "group", "site", "cog", "database", "key", "shield", "tag", "folder"),
# or direct custom raw HTML/SVG.
"MODEL_ICONS": {
"auth.user": "fa-solid fa-user-shield",
"auth.group": "fa-solid fa-users-gear",
"management.teammember": "fa-solid fa-user-tie",
"management.project": "fa-solid fa-diagram-project",
"store.product": "fa-solid fa-box-open",
# Case-insensitive, supports either <app_label>.<model_name> or just <model_name>
}
}
📊 Compatibility
- Django: 5.0, 5.1, 5.2+
- Python: 3.10, 3.11, 3.12+
🛠 Local Development & Demo
To test and develop django-admin-js locally, you can use the self-contained example project. It comes pre-configured with django-browser-reload to automatically refresh your browser whenever you modify the templates or static files in django_admin_js.
1. Set up the environment
Create a virtual environment and install the package in editable mode along with development requirements:
python3 -m venv .venv
source .venv/bin/activate
pip install -e . django-browser-reload
2. Run the Demo Project
Navigate to the example directory, apply migrations, and start the development server:
cd example
python manage.py migrate
python manage.py runserver
3. Log In to Admin
Open http://127.0.0.1:8000/admin/ in your browser and log in with the pre-created admin user:
- Username:
admin - Password:
admin
🤝 Contributing
Contributions are welcome! Please see CONTRIBUTING.md for details.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
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 django_admin_js-1.0.0b2.tar.gz.
File metadata
- Download URL: django_admin_js-1.0.0b2.tar.gz
- Upload date:
- Size: 1.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25a6f47992a1a3fd71579cb646efd2dc5b0966dafb9ee97ec90c6ed4452e3747
|
|
| MD5 |
948aa51f387ab5ed4233135b7aabbbd1
|
|
| BLAKE2b-256 |
a83a6294d289f5f8b6c9f3cc2d4cb9c608b5c9443e435828284319bd77a713b3
|
Provenance
The following attestation bundles were made for django_admin_js-1.0.0b2.tar.gz:
Publisher:
build.yml on rococo034/DjangoAdmin.JS
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_admin_js-1.0.0b2.tar.gz -
Subject digest:
25a6f47992a1a3fd71579cb646efd2dc5b0966dafb9ee97ec90c6ed4452e3747 - Sigstore transparency entry: 1809783882
- Sigstore integration time:
-
Permalink:
rococo034/DjangoAdmin.JS@84922b8f3ded3c0a1a384d93bb919e9a90bc50df -
Branch / Tag:
refs/tags/v1.0.0-beta.2 - Owner: https://github.com/rococo034
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@84922b8f3ded3c0a1a384d93bb919e9a90bc50df -
Trigger Event:
push
-
Statement type:
File details
Details for the file django_admin_js-1.0.0b2-py3-none-any.whl.
File metadata
- Download URL: django_admin_js-1.0.0b2-py3-none-any.whl
- Upload date:
- Size: 1.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70ebf83ab6408c964d2bc32f7b44a894d9f1648bd9133c1acf40221c098d6b17
|
|
| MD5 |
e15d8a99f673c999760464b0f2d64b7f
|
|
| BLAKE2b-256 |
b0f7ee65483eda87892716f5b547fcafbbb531484157080ef93d72a2d0e18b1a
|
Provenance
The following attestation bundles were made for django_admin_js-1.0.0b2-py3-none-any.whl:
Publisher:
build.yml on rococo034/DjangoAdmin.JS
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_admin_js-1.0.0b2-py3-none-any.whl -
Subject digest:
70ebf83ab6408c964d2bc32f7b44a894d9f1648bd9133c1acf40221c098d6b17 - Sigstore transparency entry: 1809783908
- Sigstore integration time:
-
Permalink:
rococo034/DjangoAdmin.JS@84922b8f3ded3c0a1a384d93bb919e9a90bc50df -
Branch / Tag:
refs/tags/v1.0.0-beta.2 - Owner: https://github.com/rococo034
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@84922b8f3ded3c0a1a384d93bb919e9a90bc50df -
Trigger Event:
push
-
Statement type: