django-admin-deux Documentation¶
A modern, extensible replacement for Django's admin interface built on factory patterns and a robust plugin system.
Key Features¶
- Action-Centric Architecture: Everything is an action - creating, editing, deleting, and custom operations
- Plugin System: Extend functionality through plugins using djp (themes, actions, behaviors)
- Modern UI: Beautiful Tailwind-based theme with dark mode support
- Familiar API: Similar to Django admin where it makes sense
- Multiple Registrations: Register multiple ModelAdmin classes for the same model
- Type-Safe: Full type hints throughout
Quick Start¶
# djadmin.py
from djadmin import ModelAdmin, register
@register(Book)
class BookAdmin(ModelAdmin):
list_display = ['title', 'author', 'published_date']
general_actions = [ListAction] # Main entry points
list_actions = [AddAction] # Creation/toolbar actions
record_actions = [EditAction, DeleteAction] # Per-record actions
Documentation Sections¶
Getting Started¶
- Installation - Installation and setup guide
- Getting Started Tutorial - Your first ModelAdmin
User Guide¶
- Basic Usage - ModelAdmin configuration basics
- CRUD Operations - Creating, reading, updating, deleting
- Action System - Understanding the action system
- Dashboards - Dashboard customization
- Customization - Advanced ModelAdmin customization
- Dark Mode & Theming - Dark mode and theme customization
API Reference¶
- ModelAdmin API - Complete ModelAdmin reference
- AdminSite API - AdminSite configuration
- Actions API - Action classes and mixins
- Mixins API - View mixins reference
- Column API - Column dataclass reference
Plugin Development¶
- Overview - Plugin system introduction
- Creating Plugins - Step-by-step plugin guide
- Hook Reference - All available hooks
- Custom Actions - Building custom actions
- Custom Themes - Creating custom themes
- Examples - Real-world plugin examples
Architecture¶
- Overview - High-level architecture
- Action System - Action-centric architecture deep dive
- ViewFactory - ViewFactory internals
- Plugin System - Plugin system internals
- Design Decisions - Key design trade-offs
Theme Customization¶
- Theming Overview - Introduction to the theme system
- Architecture Guide - Semantic HTML + structural CSS approach
- Custom Theme Guide - Creating your own theme
Why django-admin-deux?¶
vs Django Admin¶
Familiar Concepts: - Similar API for ModelAdmin configuration - Automatic form generation - Built-in CRUD operations - Dashboard views
Modern Improvements: - ✅ Plugin System: Extend without forking - ✅ Action-Centric: Everything is composable via actions - ✅ Modern UI: Tailwind-based theme with dark mode - ✅ Better Extensibility: Factory pattern + plugin hooks - ✅ Multiple ModelAdmins: Register same model multiple times - ✅ Type-Safe: Full type hints throughout
Design Philosophy¶
- DRY: Leverage factories and inheritance to minimize code duplication
- Extensibility: Plugin-first architecture using djp
- Familiarity: Mirror Django admin naming conventions where applicable
- Incrementally Adoptable: Can coexist with Django admin
Project Status¶
Current Status: Milestone 5 Phase 2.7 Complete - Permissions & Authorization System
- ✅ Milestone 1: Foundation (Plugin system, AdminSite, URL routing, Feature validation)
- ✅ Milestone 2: Django-Filter Plugin (Filtering, ordering, search via djadmin-filters)
- ✅ Milestone 3: Layout API & Django-Formset Integration (Forms, inline editing via djadmin-formset)
- ✅ Milestone 4: Developer Experience (djadmin_inspect, BaseCRUDTestCase, djadmin_apps)
- ✅ Milestone 5 Phase 2.7: Permissions System (Core permissions, action filtering, ViewAction)
- 📋 Milestone 6: Quality & Polish (Planned - coverage >90%, accessibility, performance)
Test Results: 720 passing tests, 82% coverage Plugins Available: djadmin-formset, djadmin-filters
Requirements¶
- Python: 3.11, 3.12, 3.13, 3.14
- Django: 5.2, 6.0
- Dependencies: djp (plugin system)
Installation¶
See the Installation Guide for complete setup instructions.
Community¶
- Codeberg: emmaDelescolle/django-admin-deux
- PyPI: django-admin-deux
License¶
MIT License - See LICENSE file for details.