django's default admin interface made customizable. popup windows replaced by modals. 🧙
 
 
 
 
Go to file
Fabio Caccamo c8690b316b Updated version. [ci skip] 2019-03-21 10:27:49 +01:00
admin_interface Updated version. [ci skip] 2019-03-21 10:27:49 +01:00
tests Splitted tests to multiple files. 2019-02-21 17:17:59 +01:00
.gitattributes Update .gitattributes 2018-06-14 10:27:58 +02:00
.gitignore Added .mo files. 2019-01-07 10:31:52 +01:00
.travis.yml Enabled travis pip cache. 2019-02-21 17:30:13 +01:00
LICENSE.txt Updated LICENSE 2016-02-24 10:12:32 +01:00
MANIFEST.in Removed README.rst 2017-09-29 12:19:43 +02:00
README.md Updated README. [ci skip] 2019-03-20 12:34:29 +01:00
README.rst Updated README. [ci skip] 2019-03-20 12:34:29 +01:00
runtests.py Added tests 2017-03-29 16:21:41 +02:00
setup.cfg Removed README.rst 2017-09-29 12:19:43 +02:00
setup.py Updated tests, tox and travis to support django 2.1 and python 3.7. 2018-10-10 15:48:43 +02:00
tox.ini Removed django 2.2 from tox and travis. 2019-02-06 17:00:45 +01:00

README.md

Build Status codecov Code Health PyPI version PyPI downloads Py versions License

django-admin-interface

django-admin-interface is a modern responsive flat admin interface customizable by the admin itself.

django-admin-interface-preview

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/marker
  • Style optimizations for:
    • django-ckeditor
    • django-modeltranslation
    • django-tabbed-admin
    • sorl-thumbnail

Requirements

  • Python 2.7, 3.4, 3.5, 3.6, 3.7
  • Django 1.7, 1.8, 1.9, 1.10, 1.11, 2.0, 2.1

Installation

  • Run pip install django-admin-interface
  • Add admin_interface, flat_responsive, flat and colorfield to settings.INSTALLED_APPS before django.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',
    #...
)
  • 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 :

  1. 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

  2. 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).

  3. Remove the "pk" from the fixture and make sure the active field is set to true (in this way a theme is automatically activated when installed).

  4. Edit the section above to document your theme.

Screenshots

Admin login

django-admin-interface_login

Admin dashboard

django-admin-interface_dashboard

Admin themes management

django-admin-interface_themes_management

Admin theme customization

django-admin-interface_theme_customization

FAQ

  • I already have a custom base_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


License

Released under MIT License.