Skip to content

MasterGowen/django-admin-index

 
 

Repository files navigation

Admin Index for Django

Version

1.4.0

Download

https://pypi.python.org/pypi/django_admin_index

Source

https://github.com/maykinmedia/django-admin-index

Keywords

django, admin, dashboard

Build status coverage BSD License Supported Python versions Supported Django versions

About

This extension enables you to group, order and customize the Django admin index page without too much hassle or visual changes.

There are 2 concepts: Application groups and Application links. You can create an application group and add any model to it in the Django admin, under Admin index. Whether the models are shown to the user, depends on the regular Django permissions and whether it's registered in the admin.

An application link is simply a URL with a name that you can add to an application group. It shows as a regular Django model.

One final change in the Django admin is the removal of the App lists, that link to a list of models within an App. This concept became obsolete.

Ordered dashboard with dropdown menu. Manage Application groups. Configure application groups and add Application links.

Note

@MasterGowen: This fork adds support for simple themes, which give you the ability to control the background and text color from the admin panel. The idea is to use this package together with django-admin-interface.

TODO: You might want to move the default color values into the settings.

Installation

You can install django_admin_index either via the Python Package Index (PyPI) or from source.

To install using pip:

$ pip install -U django_admin_index

Usage

To use this with your project you need to follow these steps:

  1. Add django_admin_index, ordered_model and colorfield to INSTALLED_APPS in your Django project's settings.py. Make sure that django_admin_index comes before django.contrib.admin:

    INSTALLED_APPS = (
        'django_admin_index',
        'ordered_model',
        'colorfield'
        ...,
        'django.contrib.admin',
    )

    Note that there is no dash in the module name, only underscores.

  2. Create the database tables by performing a database migration:

    $ python manage.py migrate admin_index
  3. Go to the Django admin of your site and look for the "Application groups" section.

Configuration

There are 3 settings you can add to your settings.py:

  • ADMIN_INDEX_SHOW_REMAINING_APPS (defaults to False)

    Show all models that are not added a to an Application group in a group called "Miscellaneous" for staff users.

    NOTE: If no Application groups are defined, it will show all models regardless of this setting.

  • ADMIN_INDEX_SHOW_REMAINING_APPS_TO_SUPERUSERS (defaults to True)

    Show all models that are not added a to an Application group in a group called "Miscellaneous" for super users users.

    NOTE: If no Application groups are defined, it will show all models regardless of this setting.

  • ADMIN_INDEX_AUTO_CREATE_APP_GROUP (defaults to False)

    Automaticly creates an Application group, based on the app_label, for all the models that would be in the "Miscellaneous" group. If True, your Django admin will initially look as it normally would. It will not update existing Application groups.

  • ADMIN_INDEX_SHOW_MENU (defaults to: True)

    Show the admin index as a menu above the breadcrumbs. Submenu's are filled with the registered models.

  • ADMIN_INDEX_HIDE_APP_INDEX_PAGES (defaults to: True)

    Removes the links to the app index pages from the main index and the breadcrumbs.

Extra

Sticky header

The header (typically "Django administration") including the menu (added by this library) and the breadcrumbs, all become sticky (ie. they stay visible when you scroll down on large pages). If you don't want this, you can add some CSS lines, like:

#header { position: initial; }
.dropdown-menu { position: initial; }
.breadcrumbs { position: initial; }

Breadcrumbs

You can also squeeze additional content in the breadcrumbs, just after Home. Simply overwrite the block breadcrumbs_pre_changelist in the admin templates you desire (change_list.html, change_form.html, etc.):

{% block breadcrumbs_pre_changelist %}
› Meaningful breadcrumb element
{% endblock %}

About

Change the Django admin index page without too much hassle or visual changes.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 64.0%
  • HTML 26.7%
  • CSS 4.5%
  • Makefile 2.9%
  • SCSS 1.9%