Skip to main content

A modern admin interface for Django using Tailwind CSS v4

Project description

readme for Adminita

adminita header

Adminita

A modern, beautiful Django admin theme built with Tailwind CSS v4. Transform your Django admin interface into a sleek, responsive dashboard with dark mode support.

License Python Django Tailwind CSS

โœจ Features

  • ๐ŸŽจ Modern UI - Clean, professional interface built with Tailwind CSS v4
  • ๐ŸŒ“ Dark Mode - System preference detection with manual toggle
  • ๐Ÿ“ฑ Responsive Design - Works seamlessly on desktop, tablet, and mobile
  • ๐ŸŽฏ Easy Integration - Drop-in replacement for Django's default admin
  • โšก Fast - Optimized CSS with no unnecessary bloat
  • ๐Ÿ”ง Customizable - Easy to customize colors and styling
  • ๐Ÿ†“ Open Source - MIT licensed, free to use and modify

๐Ÿ“ธ Screenshots

Light Mode

adminita light dashboard

Dark Mode

![Dark Mode Dashboard - IMAGE COMING SOON - once I fix it!]

๐Ÿš€ Quick Start

Installation

  1. Install via pip (recommended for production):
pip install adminita
  1. Or install from source (for development):
git clone https://github.com/djangify/adminita.git
cd adminita
pip install -e .

Configuration

  1. Add to INSTALLED_APPS in your Django settings (must be before django.contrib.admin):
INSTALLED_APPS = [
    "adminita",  # Must be FIRST!
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    # ... your other apps
]
  1. Configure static files:
STATIC_URL = "/static/"
STATIC_ROOT = BASE_DIR / "staticfiles"
  1. Add customization to project urls.py file: Adminita uses Django's built-in admin site customization. Add these lines to your urls.py:
from django.contrib import admin

admin.site.site_header = "Your Site Name"
admin.site.site_title = "Your Site Title" 
admin.site.index_title = "Welcome to Your Site"
  1. Collect static files:
python manage.py collectstatic --noinput
  1. Run your server:
python manage.py runserver
  1. Visit the admin at http://localhost:8000/admin/

That's it! Your Django admin should now have the Adminita theme applied.

๐ŸŽจ Customization

Changing Colors

Adminita uses Tailwind CSS v4's new @theme syntax. To customize colors:

  1. Edit the source CSS at adminita/static/src/input.css:
@theme {
  /* Change primary colors to match your brand */
  --color-primary-500: #10b981; /* Your brand color */
  --color-primary-600: #059669; /* Darker shade */
  --color-primary-700: #047857; /* Even darker */
}
  1. Rebuild the CSS:
cd path/to/adminita
npm install  # If you haven't already
npm run build
  1. Collect static files in your project:
python manage.py collectstatic --noinput

Available Color Variables

--color-primary-50 through --color-primary-950
--color-gray-50 through --color-gray-900
--color-gray-750 (custom for dark mode)

๐Ÿ”ง Utility Classes

Adminita provides utility classes to help with common admin patterns.

AlwaysVisibleAdmin

Ensures models always appear in the admin index, even if they have custom permissions:

from adminita.utils import AlwaysVisibleAdmin

@admin.register(MyModel)
class MyModelAdmin(AlwaysVisibleAdmin):
    pass

SingletonAdmin

For models that should only have one instance (like Site Settings):

from adminita.utils import SingletonAdmin

@admin.register(SiteConfiguration)
class SiteConfigurationAdmin(SingletonAdmin):
    list_display = ['site_name']

๐Ÿ› ๏ธ Development

Setting Up Development Environment

  1. Clone the repository:
git clone https://github.com/djangify/adminita.git
cd adminita
  1. Create a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
npm install
  1. Build CSS:
npm run build    # One-time build
npm run watch    # Auto-rebuild on changes
  1. Run the demo project:
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver

Project Structure

adminita/
โ”œโ”€โ”€ adminita/                  # The Django app package
โ”‚   โ”œโ”€โ”€ static/
โ”‚   โ”‚   โ”œโ”€โ”€ css/
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ adminita-tailwind.css    # Generated CSS (don't edit)
โ”‚   โ”‚   โ”œโ”€โ”€ js/
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ adminita-tailwind.js      # JavaScript for dark mode & mobile menu
โ”‚   โ”‚   โ””โ”€โ”€ src/
โ”‚   โ”‚       โ””โ”€โ”€ input.css     # Source CSS with Tailwind v4 syntax
โ”‚   โ”œโ”€โ”€ templates/
โ”‚   โ”‚   โ””โ”€โ”€ admin/            # Template overrides
โ”‚   โ”‚       โ”œโ”€โ”€ base.html
โ”‚   โ”‚       โ”œโ”€โ”€ base_site.html
โ”‚   โ”‚       โ”œโ”€โ”€ index.html
โ”‚   โ”‚       โ”œโ”€โ”€ login.html
โ”‚   โ”‚       โ”œโ”€โ”€ change_list.html
โ”‚   โ”‚       โ””โ”€โ”€ change_form.html
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ””โ”€โ”€ apps.py
โ”œโ”€โ”€ config/                    # Django project settings
โ”‚   โ”œโ”€โ”€ settings.py
โ”‚   โ”œโ”€โ”€ urls.py
โ”‚   โ””โ”€โ”€ wsgi.py
โ”œโ”€โ”€ manage.py
โ”œโ”€โ”€ package.json              # Node.js dependencies for Tailwind
โ”œโ”€โ”€ pyproject.toml            # Python package configuration
โ””โ”€โ”€ README.md

๐Ÿ› Known Issues

None not as of December 2025

๐Ÿ“š Documentation

Tailwind CSS v4 Notes

Adminita uses Tailwind CSS v4, which has a different syntax than v3:

  • Uses @import "tailwindcss" instead of @tailwind directives
  • Theme customization uses @theme {} blocks in CSS
  • More streamlined, CSS-first approach

Template Inheritance

When extending Adminita templates in your own project:

{% extends "admin/base.html" %}

Not adminita/admin/base.html - Django finds templates automatically because adminita is in INSTALLED_APPS.

๐Ÿค Contributing

We welcome contributions! Adminita is an open-source project and we'd love your help making it better.

How to Contribute

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Test thoroughly
  5. Commit your changes: git commit -m 'Add amazing feature'
  6. Push to the branch: git push origin feature/amazing-feature
  7. Open a Pull Request

Priority Issues

We especially need help with:

  • ๐Ÿ› Dark Mode Bug - The toggle isn't working (UPDATE: This now works as of December 21 2025)
  • ๐Ÿ“ฑ Mobile Responsiveness - Testing on various devices
  • โ™ฟ Accessibility - ARIA labels, keyboard navigation, screen reader support
  • ๐ŸŽจ Additional Themes - Creating alternative color schemes
  • ๐Ÿ“ Documentation - Improving guides and examples

Development Guidelines

  • Follow Django's template style guidelines
  • Use Tailwind CSS utility classes (avoid custom CSS when possible)
  • Test on multiple browsers (Chrome, Firefox, Safari, Edge)
  • Ensure dark mode compatibility for all new features
  • Update documentation for any new features

๐Ÿ“ฆ Requirements

  • Python 3.10+
  • Django 4.2+
  • Node.js (for building CSS during development)
  • npm (for managing Tailwind CSS)

๐Ÿงช Testing

# Run Django tests
python manage.py test

# Test in multiple browsers
# Test dark mode toggle
# Test responsive design on mobile devices

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ‘ Acknowledgments

๐Ÿ”— Links

๐Ÿ’ฌ Support

Having trouble? Here are some ways to get help:

๐Ÿ—บ๏ธ Roadmap

  • Fix dark mode toggle functionality
  • Add more customization options
  • Create additional color themes
  • Improve accessibility (ARIA labels, keyboard navigation)
  • Add comprehensive test suite
  • Create video tutorials
  • Publish to PyPI
  • Add support for Django inline forms
  • Create a documentation website

โญ Star History

If you find Adminita useful, please consider giving it a star on GitHub! It helps others discover the project.


Made with โค๏ธ by a Django enthusiast

Note: This is an open-source project. I appreciate your patience and contributions!

Developer: https://www.todiane.com

Developer LinkedIn: https://linkedin.com/in/todianedev

Coffee Always Welcome: https://ko-fi.com/todianedev โค๏ธ

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

adminita-0.1.6.tar.gz (50.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

adminita-0.1.6-py3-none-any.whl (59.5 kB view details)

Uploaded Python 3

File details

Details for the file adminita-0.1.6.tar.gz.

File metadata

  • Download URL: adminita-0.1.6.tar.gz
  • Upload date:
  • Size: 50.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.10

File hashes

Hashes for adminita-0.1.6.tar.gz
Algorithm Hash digest
SHA256 25c00b37020334a23b95f818e5bb32d3604b2575a865e89b2078f22582614319
MD5 68a8711ca19ab9f2b2f598cbbb0283e0
BLAKE2b-256 ada3e85e6c7048a9a8305a831e5a64047d2fb54291c860fd69d38dc0df87d01a

See more details on using hashes here.

File details

Details for the file adminita-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: adminita-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 59.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.10

File hashes

Hashes for adminita-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 9f4bdb1d33a7934cf6c1fcff7363336b99e87d4852ff3f41f416c7d95ebdc1d3
MD5 e3ff7b196488c8ab5445086b26f4f388
BLAKE2b-256 0bd2724420969e30f77917032d0b0634b684dbd1e4314a9b201863fb9b332cf5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page