Django Suit documentation

Django Suit - Modern theme for Django admin interface.

About

Django Suit is alternative theme/skin/extension for Django admin app (administration interface).

Licence

Resources

Preview

Click on screenshot for live demo:

Django Suit Preview

Installation

  1. You can get Django Suit by using pip or easy_install:

    pip install django-suit
    # or
    easy_install django-suit
  2. You will need to add the 'suit' application to the INSTALLED_APPS setting of your Django project settings.py file.:

    INSTALLED_APPS = (
        ...
        'suit',
        'django.contrib.admin',
    )

Warning

'suit' must be added before 'django.contrib.admin' and if you are using third-party apps with special admin support (like django-cms) you also need to add 'suit' before 'cms'.

  1. You also need to add 'django.core.context_processors.request' to TEMPLATE_CONTEXT_PROCESSORS setting in your Django project settings.py file.:

    from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP
    
    TEMPLATE_CONTEXT_PROCESSORS = TCP + (
        'django.core.context_processors.request',
    )
    
Note: This is required to handle left side menu. If by some reason you removed original Django Suit menu.html, you can skip this.

Deployment

Deployment with Django Suit should not be different than any other Django application. If you have problems with deployment on production, read Django docs on wsgi first.

Note

If you deploy your project with Apache or Debug=False don’t forget to run ./manage.py collectstatic

Develop branch

Develop branch is considered as release candidate version. Check commits and changelog of develop branch first, before installing develop version. It is quite stable and always tested, but can contain some flaws or behaviour changes too. To install latest develop version use:

pip uninstall django-suit
pip install https://github.com/darklow/django-suit/tarball/develop

Customization

Configuration

You can customize Django Suit behaviour by adding SUIT_CONFIG configuration variable to your Django project settings.py file.

Templates

You must extend base_site.html template to customize footer links, copyright text or to add extra JS/CSS files. Example file is available on github.

Copy customized base_site.html template file to your project’s main application template/admin/ directory and un-comment and edit the blocks you would like to extend.

Alternatively you can copy base_site.html to any of template directories, which are defined in TEMPLATE_DIRS setting (if any). By default Django looks in every registered application templates/ dir.

In the same way you can override any of Django Suit admin templates. More about customizing project’s templates, you can read in Django Admin Tutorial

Features

Widgets

There are handy widgets included in Django Suit.

Form tabs

Form tabs help you organize form fieldsets and inlines into tabs.

Form includes

Django Suit provides handy shortcut to include templates into forms.

List attributes

Using few callable helpers you can customize change list row and cell attributes based on object instance variables.

Wysiwyg editors

How to use wysiwyg editors in Django Suit.

Support

  • Github: Use django-suit github issues, if you have any problems using Django Suit.
  • IRC Channel: Feel free to join us at #django-suit on irc.freenode.net for a chat.

Examples

Besides documentation examples, Django Suit demo application source code is also available on separate github repository: django-suit-examples. If you see anything in demo application, you can always go to this repository and see implementation and code in one of models.py or admin.py files

Supported apps

Besides Django admin, Django Suit supports following third-party apps:

Suggest popular apps you would like to be supported here