{"id":51368283,"url":"https://github.com/djangify/adminita","last_synced_at":"2026-07-03T03:35:23.474Z","repository":{"id":328079955,"uuid":"1111402393","full_name":"djangify/adminita","owner":"djangify","description":"Django Tailwind Admin UI","archived":false,"fork":false,"pushed_at":"2026-02-09T12:02:42.000Z","size":905,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-03T03:35:21.697Z","etag":null,"topics":["django","django-admin","django-admin-theme","django-admin-themes"],"latest_commit_sha":null,"homepage":"https://adminita.todiane.com","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/djangify.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-06T21:35:29.000Z","updated_at":"2026-02-09T12:02:46.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/djangify/adminita","commit_stats":null,"previous_names":["djangify/adminita"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/djangify/adminita","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djangify%2Fadminita","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djangify%2Fadminita/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djangify%2Fadminita/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djangify%2Fadminita/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/djangify","download_url":"https://codeload.github.com/djangify/adminita/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djangify%2Fadminita/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35071461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-03T02:00:05.635Z","response_time":110,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","django-admin","django-admin-theme","django-admin-themes"],"created_at":"2026-07-03T03:35:22.900Z","updated_at":"2026-07-03T03:35:23.463Z","avatar_url":"https://github.com/djangify.png","language":"HTML","funding_links":["https://ko-fi.com/todianedev"],"categories":[],"sub_categories":[],"readme":"![adminita header](https://github.com/djangify/adminita/blob/336735abb0e7679f4e2622615f891d178fd4bab3/adminita-homepage.png)\n\n\n# Adminita\n\nA modern, beautiful Django admin theme built with Tailwind CSS v4. Transform your Django admin interface into a sleek, responsive dashboard with dark mode support.\n\n![License](https://img.shields.io/badge/license-MIT-blue.svg)\n![Python](https://img.shields.io/badge/python-3.8+-blue.svg)\n![Django](https://img.shields.io/badge/django-4.0+-green.svg)\n![Tailwind CSS](https://img.shields.io/badge/tailwind-v4-38bdf8.svg)\n\n## ✨ Features\n\n- 🎨 **Modern UI** - Clean, professional interface built with Tailwind CSS v4\n- 🌓 **Dark Mode** - System preference detection with manual toggle\n- 📱 **Responsive Design** - Works seamlessly on desktop. Responsive navigation and touch-friendly controls for phones and tablets\n- 🎯 **Easy Integration** - Drop-in replacement for Django's default admin\n- ⚡ **Fast** - Optimized CSS with no unnecessary bloat\n- 🔧 **Customizable** - Easy to customize colors and styling\n- 🆓 **Open Source** - MIT licensed, free to use and modify\n\n## 📸 Screenshots\n\n### Light Mode\n\n![adminita light dashboard](https://github.com/djangify/adminita/blob/ac1e111dcf7ffae28dcdca60a78dbf32c848d035/adminita-lightdashboard.png)\n\n### Dark Mode\n![Dark Mode Dashboard](https://github.com/djangify/adminita/blob/93e527055807d5e6e05b2fa5724f97835ee53232/adminita-dark-mode.png)\n\n## 🚀 Quick Start\n\n### Installation\n\n1. **Install via pip** (recommended for production):\n\n```bash\npip install adminita\n```\n\n2. **Or install from source** (for development):\n\n```bash\ngit clone https://github.com/djangify/adminita.git\ncd adminita\npip install -e .\n```\n\n### Configuration\n\n1. **Add to INSTALLED_APPS** in your Django settings (must be before `django.contrib.admin`):\n\n```python\nINSTALLED_APPS = [\n    \"adminita\",  # Must be FIRST!\n    \"django.contrib.admin\",\n    \"django.contrib.auth\",\n    \"django.contrib.contenttypes\",\n    \"django.contrib.sessions\",\n    \"django.contrib.messages\",\n    \"django.contrib.staticfiles\",\n    # ... your other apps\n]\n```\n\n2. **Configure static files**:\n\n```python\nSTATIC_URL = \"/static/\"\nSTATIC_ROOT = BASE_DIR / \"staticfiles\"\n```\n\n3. **Add customization to project urls.py file**:\nAdminita uses Django's built-in admin site customization. Add these lines to your `urls.py`:\n```python\nfrom django.contrib import admin\n\nadmin.site.site_header = \"Your Site Name\"\nadmin.site.site_title = \"Your Site Title\" \nadmin.site.index_title = \"Welcome to Your Site\"\n```\n\n4. **Collect static files**:\n\n```bash\npython manage.py collectstatic --noinput\n```\n\n5. **Run your server**:\n\n```bash\npython manage.py runserver\n```\n\n6. **Visit the admin** at `http://localhost:8000/admin/`\n\nThat's it! Your Django admin should now have the Adminita theme applied.\n\n## 🎨 Customization\n\n### Changing Colors\n\nAdminita uses Tailwind CSS v4's new `@theme` syntax. To customize colors:\n\n1. **Edit the source CSS** at `adminita/static/src/input.css`:\n\n```css\n@theme {\n  /* Change primary colors to match your brand */\n  --color-primary-500: #10b981; /* Your brand color */\n  --color-primary-600: #059669; /* Darker shade */\n  --color-primary-700: #047857; /* Even darker */\n}\n```\n\n2. **Rebuild the CSS**:\n\n```bash\ncd path/to/adminita\nnpm install  # If you haven't already\nnpm run build\n```\n\n3. **Collect static files** in your project:\n\n```bash\npython manage.py collectstatic --noinput\n```\n\n### Available Color Variables\n\n```css\n--color-primary-50 through --color-primary-950\n--color-gray-50 through --color-gray-900\n--color-gray-750 (custom for dark mode)\n```\n## 🔧 Utility Classes\n\nAdminita provides utility classes to help with common admin patterns.\n\n### AlwaysVisibleAdmin\n\nEnsures models always appear in the admin index, even if they have custom permissions:\n```python\nfrom adminita.utils import AlwaysVisibleAdmin\n\n@admin.register(MyModel)\nclass MyModelAdmin(AlwaysVisibleAdmin):\n    pass\n```\n\n### SingletonAdmin\n\nFor models that should only have one instance (like Site Settings):\n```python\nfrom adminita.utils import SingletonAdmin\n\n@admin.register(SiteConfiguration)\nclass SiteConfigurationAdmin(SingletonAdmin):\n    list_display = ['site_name']\n```\n\n## 🛠️ Development\n\n### Setting Up Development Environment\n\n1. **Clone the repository**:\n\n```bash\ngit clone https://github.com/djangify/adminita.git\ncd adminita\n```\n\n2. **Create a virtual environment**:\n\n```bash\npython -m venv venv\nsource venv/bin/activate  # On Windows: venv\\Scripts\\activate\n```\n\n3. **Install dependencies**:\n\n```bash\npip install -r requirements.txt\nnpm install\n```\n\n4. **Build CSS**:\n\n```bash\nnpm run build    # One-time build\nnpm run watch    # Auto-rebuild on changes\n```\n\n5. **Run the demo project**:\n\n```bash\npython manage.py migrate\npython manage.py createsuperuser\npython manage.py runserver\n```\n\n### Project Structure\n\n```\nadminita/\n├── adminita/                  # The Django app package\n│   ├── static/\n│   │   ├── css/\n│   │   │   └── adminita-tailwind.css    # Generated CSS (don't edit)\n│   │   ├── js/\n│   │   │   └── adminita-tailwind.js      # JavaScript for dark mode \u0026 mobile menu\n│   │   └── src/\n│   │       └── input.css     # Source CSS with Tailwind v4 syntax\n│   ├── templates/\n│   │   └── admin/            # Template overrides\n│   │       ├── base.html\n│   │       ├── base_site.html\n│   │       ├── index.html\n│   │       ├── login.html\n│   │       ├── change_list.html\n│   │       └── change_form.html\n│   ├── __init__.py\n│   └── apps.py\n├── config/                    # Django project settings\n│   ├── settings.py\n│   ├── urls.py\n│   └── wsgi.py\n├── manage.py\n├── package.json              # Node.js dependencies for Tailwind\n├── pyproject.toml            # Python package configuration\n└── README.md\n```\n\n## 🐛 Known Issues\n\n## Issue: Search and filters break after zero-result state\n\n### Symptoms\n- Search returns correct results\n- Filters work initially\n- After any action that returns zero results, filters stop working\n- JavaScript error: `undefined is not iterable` in actions.js\n\n### Root cause\nDjango's admin/js/actions.js expects specific DOM elements that may not exist \nwhen the result set is empty, causing a JavaScript crash that breaks subsequent \npage functionality.\n\n### Workaround\nDisable admin actions or add error handling for the zero-result state.\n\n## Known Limitations\nThese changes make Adminita usable on mobile, not optimized for mobile:\n\n- Complex tables - Very wide tables still require horizontal scrolling\n- Inline formsets - Tabular inlines are cramped; consider using stacked inlines for mobile-heavy use cases\n- Rich text editors - TinyMCE and similar may have their own mobile issues\n- Date/time pickers - Django's default widgets are desktop-focused\n\n## Future Improvements (Community PRs Welcome)\n\n - Card-based table view option for mobile (instead of horizontal scroll)\n - Bottom navigation bar for common actions\n - Pull-to-refresh on list pages\n - Improved inline formset mobile layout\n - Native date/time inputs on mobile (\u003cinput type=\"date\"\u003e)\n\n## 📚 Documentation\n\n### Tailwind CSS v4 Notes\n\nAdminita uses Tailwind CSS v4, which has a different syntax than v3:\n\n- Uses `@import \"tailwindcss\"` instead of `@tailwind` directives\n- Theme customization uses `@theme {}` blocks in CSS\n- More streamlined, CSS-first approach\n\n### Template Inheritance\n\nWhen extending Adminita templates in your own project:\n\n```django\n{% extends \"admin/base.html\" %}\n```\n\n**Not** `adminita/admin/base.html` - Django finds templates automatically because `adminita` is in `INSTALLED_APPS`.\n\n## 🤝 Contributing\n\nWe welcome contributions! Adminita is an open-source project and we'd love your help making it better.\n\n### How to Contribute\n\n1. **Fork the repository**\n2. **Create a feature branch**: `git checkout -b feature/amazing-feature`\n3. **Make your changes**\n4. **Test thoroughly**\n5. **Commit your changes**: `git commit -m 'Add amazing feature'`\n6. **Push to the branch**: `git push origin feature/amazing-feature`\n7. **Open a Pull Request**\n\n### Priority Issues\n\nWe especially need help with:\n\n- 🐛 **Dark Mode Bug** - The toggle isn't working (UPDATE: This now works as of December 21 2025)\n- 📱 **Mobile Responsiveness** - Testing on various devices\n- ♿ **Accessibility** - ARIA labels, keyboard navigation, screen reader support\n- 🎨 **Additional Themes** - Creating alternative color schemes\n- 📝 **Documentation** - Improving guides and examples\n\n### Development Guidelines\n\n- Follow Django's template style guidelines\n- Use Tailwind CSS utility classes (avoid custom CSS when possible)\n- Test on multiple browsers (Chrome, Firefox, Safari, Edge)\n- Ensure dark mode compatibility for all new features\n- Update documentation for any new features\n\n## 📦 Requirements\n\n- Python 3.10+\n- Django 4.2+\n- Node.js (for building CSS during development)\n- npm (for managing Tailwind CSS)\n\n## 🧪 Testing\n\n```bash\n# Run Django tests\npython manage.py test\n\n# Test in multiple browsers\n# Test dark mode toggle\n# Test responsive design on mobile devices\n```\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 👏 Acknowledgments\n\n- Built with [Django](https://www.djangoproject.com/)\n- Styled with [Tailwind CSS v4](https://tailwindcss.com/)\n- Inspired by modern admin dashboards\n\n## 🔗 Links\n\n- **GitHub**: https://github.com/djangify/adminita\n- **Issues**: https://github.com/djangify/adminita/issues\n- **PyPI**: https://pypi.org/project/adminita/ \n\n- **Website - GitHub**: https://github.com/djangify/adminita_demo\n\n- **Website**: https://adminita.todiane.com (demo user login available)\n\n\n## 💬 Support\n\nHaving trouble? Here are some ways to get help:\n\n- 📖 Check the [documentation](https://adminita.todiane.com/infopages/docs)\n- 🐛 [Open an issue](https://github.com/djangify/adminita/issues/new)\n- 💡 [Start a discussion](https://github.com/djangify/adminita/discussions)\n\n## 🗺️ Roadmap\n\n- [ ] Fix dark mode toggle functionality\n- [ ] Add more customization options\n- [ ] Create additional color themes\n- [ ] Improve accessibility (ARIA labels, keyboard navigation)\n- [ ] Add comprehensive test suite\n- [ ] Create video tutorials\n- [ ] Publish to PyPI\n- [ ] Add support for Django inline forms\n- [ ] Create a documentation website\n\n## ⭐ Star History\n\nIf you find Adminita useful, please consider giving it a star on GitHub! It helps others discover the project.\n\n---\n\nMade with ❤️ by a Django enthusiast\n\n**Note**: This is an open-source project. I appreciate your patience and contributions!\n\n**Developer**: https://www.todiane.com \n\n**Developer LinkedIn**: https://linkedin.com/in/todianedev\n\n**Coffee Always Welcome**: https://ko-fi.com/todianedev ❤️\n\n\nMaintained by [Diane Corriette](https://github.com/todiane)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjangify%2Fadminita","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdjangify%2Fadminita","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjangify%2Fadminita/lists"}