Django Suit documentation — Django Suit 0.2.5 documentation

# 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

- Django Suit is licensed under Creative Commons Attribution-NonCommercial 3.0 license.
- See licence and pricing: http://djangosuit.com/pricing/

## Resources

- Home page: http://djangosuit.com
- Demo: http://djangosuit.com/admin/
- Licence and Pricing: http://djangosuit.com/pricing/
- Github: https://github.com/darklow/django-suit
- Demo app on Github: https://github.com/darklow/django-suit-examples
- Changelog: Changelog.rst
- Supports: Django 1.4/1.5. Python: 2.6-3.3
- Supported apps

## Preview

Click on screenshot for live demo:

# 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'`.

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

- Configuration
  - Full example
  - Header
    - ADMIN_NAME
    - HEADER_DATE_FORMAT
    - HEADER_TIME_FORMAT
  - Forms
    - SHOW_REQUIRED_ASTERISK
    - CONFIRM_UNSAVED_CHANGES
  - Menu
    - SEARCH_URL
    - MENU_OPEN_FIRST_CHILD
    - MENU_ICONS
    - MENU_EXCLUDE
    - MENU_ORDER
    - MENU
  - List
    - LIST_PER_PAGE

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

- Widgets
  - NumberInput
  - HTML5Input
  - EnclosedInput
  - AutosizedTextarea
  - Date/Time widgets
  - LinkedSelect

## Sortables

Sortables are handy admin tools for ordering different lists.

- Sortables
  - Limitations
  - Under the hood
  - Change list sortable
    - Example
    - Resources
  - django-mptt tree sortable
    - Example
    - Resources
  - Tabular inlines sortable
    - Example
    - Resources

## Form tabs

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

- Form tabs

## Form includes

Django Suit provides handy shortcut to include templates into forms.

- Form Includes
  - Example
  - Preview

## List attributes

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

- List attributes
  - List header columns
  - List row attributes
  - List cell attributes

## Wysiwyg editors

How to use wysiwyg editors in Django Suit.

- WYSIWYG editors
  - Imperavi Redactor
  - CKEditor 4.x
  - Other wysiwyg apps

## JavaScript and CSS

- JavaScript & CSS
  - JavaScript goodies
    - Inlines hook
    - jQuery
  - CSS goodies

# 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:

- django-cms (since v2.3.5) - Example Read notes
- django-filer (since v0.9.4) - Example
- django-mptt - Example
- django-reversion - Example
- django-import-export - Example

Suggest popular apps you would like to be supported here

# Contributing

- Contributing
  - Tests
  - CSS/LESS
  - Related packages