django-admin-interface is a modern responsive flat admin interface customizable by the admin itself.
- Beautiful default django-theme
- Themes management and customization (you can customize admin title, logo and colors)
- Responsive
- Related modal (instead of the old popup window)
- Environment name/marker
- Language chooser
- List filter dropdown
NEW
List filter stickyNEW
Form controls sticky (pagination and save/delete buttons)- Compatibility / Style optimizations for:
django-ckeditor
django-dynamic-raw-id
django-json-widget
django-modeltranslation
django-tabbed-admin
sorl-thumbnail
- Run
pip install django-admin-interface
- Add
admin_interface
,flat_responsive
,flat
andcolorfield
tosettings.INSTALLED_APPS
beforedjango.contrib.admin
INSTALLED_APPS = (
#...
'admin_interface',
'flat_responsive', # only if django version < 2.0
'flat', # only if django version < 1.9
'colorfield',
#...
'django.contrib.admin',
#...
)
# only if django version >= 3.0
X_FRAME_OPTIONS = 'SAMEORIGIN'
SILENCED_SYSTEM_CHECKS = ['security.W019']
- Run
python manage.py migrate
- Run
python manage.py collectstatic
- Restart your application server
- Run
pip install django-admin-interface --upgrade
- Run
python manage.py migrate
(add--fake-initial
if you are upgrading from 0.1.0 version) - Run
python manage.py collectstatic --clear
- Restart your application server
This package ships with optional themes as fixtures, they can be installed using the loaddata admin command. Optional themes are activated on installation.
Django theme (default):
Run python manage.py loaddata admin_interface_theme_django.json
Bootstrap theme:
Run python manage.py loaddata admin_interface_theme_bootstrap.json
Foundation theme:
Run python manage.py loaddata admin_interface_theme_foundation.json
U.S. Web Design Standards theme:
Run python manage.py loaddata admin_interface_theme_uswds.json
You can add a theme you've created through the admin to this repository by sending us a PR. Here are the steps to follow to add:
-
Export your exact theme as fixture using the
dumpdata
admin command:python manage.py dumpdata admin_interface.Theme --indent 4 -o admin_interface_theme_{{name}}.json --pks=N
-
Copy the generated json file into the fixtures folder (making sure its name starts with
admin_interface_theme_
to avoid clashes with fixtures that might be provided by other third party apps). -
Remove the
"pk"
from the fixture and make sure theactive
field is set totrue
(in this way a theme is automatically activated when installed). -
Edit the section above to document your theme.
You can add theme support to existing third-party libraries using the following css variables:
--admin-interface-title-color
--admin-interface-logo-color
--admin-interface-env-color
--admin-interface-header-background-color:
--admin-interface-header-text-color
--admin-interface-header-link-color
--admin-interface-header-link_hover-color
--admin-interface-module-background-color
--admin-interface-module-background-selected-color
--admin-interface-module-text-color
--admin-interface-module-link-color
--admin-interface-module-link-selected-color
--admin-interface-module-link-hover-color
--admin-interface-generic-link-color
--admin-interface-generic-link-hover-color
--admin-interface-save-button-background-color
--admin-interface-save-button-background-hover-color
--admin-interface-save-button-text-color
--admin-interface-delete-button-background-color
--admin-interface-delete-button-background-hover-color
--admin-interface-delete-button-text-color
--admin-interface-related-modal-background-color
--admin-interface-related-modal-background-opacity
You can use django-apptemplates, then add {% extends "admin_interface:admin/base_site.html" %}
to your base_site.html
# create python virtual environment
virtualenv testing_django_admin_interface
# activate virtualenv
cd testing_django_admin_interface && . bin/activate
# clone repo
git clone https://github.com/fabiocaccamo/django-admin-interface.git src && cd src
# install dependencies
pip install -r requirements.txt
# run tests
tox
# or
python setup.py test
# or
python -m django test --settings "tests.settings"
Released under MIT License.
I would like to spend more time on this project, especially to improve it and adding new features.
As everyone knows open-source projects takes up a lot of time that is unpaid. 💸
If you are using this package in commercial project(s), please consider the idea to become a sponsor or donating once:
- GitHub Sponsor
- PayPal
- BTC: bc1q2t0pv8z3udpyuvfnx5kskhqdad4dcvtfuzmvjw
- ETH: 0x8B55Fb7798b5A9F797A4455C00821B6e53daca74
-
django-colorfield
- simple color field for models with a nice color-picker in the admin. 🎨 -
django-extra-settings
- config and manage typed extra settings using just the django admin. ⚙️ -
django-maintenance-mode
- shows a 503 error page when maintenance-mode is on. 🚧 🛠️ -
django-redirects
- redirects with full control. ↪️ -
django-treenode
- probably the best abstract model / admin for your tree based stuff. 🌳 -
python-benedict
- dict subclass with keylist/keypath support, I/O shortcuts (base64, csv, json, pickle, plist, query-string, toml, xml, yaml) and many utilities. 📘 -
python-codicefiscale
- encode/decode Italian fiscal codes - codifica/decodifica del Codice Fiscale. 🇮🇹 💳 -
python-fsutil
- file-system utilities for lazy devs. 🧟♂️