django-admin-interface
django-admin-interface is a modern responsive flat admin interface customizable by the admin itself.
Features
- Beautiful default django-theme
- Themes management and customization (you can customize admin title, logo and colors)
- Responsive
- List filter dropdown (optional)
NEW
Related modal (instead of the old popup window, optional)NEW
Environment name/markerNEW
Language chooser- Compatibility / Style optimizations for:
django-ckeditor
django-dynamic-raw-id
django-json-widget
django-modeltranslation
django-tabbed-admin
sorl-thumbnail
Installation
- 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',
#...
)
X_FRAME_OPTIONS='SAMEORIGIN' # only if django version >= 3.0
- Run
python manage.py migrate
- Run
python manage.py collectstatic
- Restart your application server
Upgrade
- 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
Optional themes
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
Add more themes
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.
Add theme support to third-party libraries
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-text-color
--admin-interface-module-link-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
Screenshots
Admin login
Admin dashboard
Admin themes management
Admin theme customization
FAQ
-
I already have a custombase_site.html
, how can I make it work?
You can use django-apptemplates, then add {% extends "admin_interface:admin/base_site.html" %}
to your base_site.html
Testing
# 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"
License
Released under MIT License.
See also
-
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.🧟♂️