Django Suit documentation¶
Django Suit - Modern theme for Django admin interface.
Django Suit is alternative theme/skin/extension for Django admin app (administration interface).
- 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.7. Python: 2.6-3.4
- Supported apps
Click on screenshot for live demo:
You can get Django Suit by using pip or easy_install:
pip install django-suit # or easy_install django-suit
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', )
'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'.
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 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.
If you deploy your project with Apache or Debug=False don’t forget to run ./manage.py collectstatic
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
You can customize Django Suit behaviour by adding SUIT_CONFIG configuration variable to your Django project settings.py file.
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
There are handy widgets included in Django Suit.
Sortables are handy admin tools for ordering different lists.
Django Suit provides handy shortcut to include templates into forms.
Using few callable helpers you can customize change list row and cell attributes based on object instance variables.
How to use wysiwyg editors in Django Suit.
- 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.
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
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 other popular apps you would like to be supported here
If you are using third-party apps with special admin support (like django-cms) you also need to add 'suit' before 'cms' in the list of `INSTALLED_APPS` in your `settings.py` file.