Skip to content

olivierdalang/django-nested-admin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

django-nested-admin

Build Status

django-nested-admin is a project that makes it possible to nest admin inlines (that is, to define inlines on InlineModelAdmin classes). compatible with Django 1.4-1.8 and Python versions 2.7 and 3.4. It works with and without Grappelli. When Grappelli is not installed it adds Grappelli-like drag-and-drop sorting functionality to Django inlines.

Installation

The recommended way to install django-nested-admin is from PyPI:

pip install django-nested-admin

Alternatively, one can install a development copy of django-nested-admin from source:

pip install -e git+git://github.com/theatlantic/django-nested-admin.git#egg=django-nested-admin

If the source is already checked out, use setuptools to install:

python setup.py develop

Configuration

To use django-nested-admin in your project, "nested_admin" must be added to the INSTALLED_APPS in your settings and you must include nested_admin.urls in your django urlpatterns. django-grappelli is an optional dependency of django-nested-admin. If using Grappelli, make sure the appropriate version of Grappelli is installed for your version of Django.

# settings.py

INSTALLED_APPS = (
    # ...
    'nested_admin',
)

# urls.py

urlpatterns = patterns('',
    # ...
    url(r'^nested_admin/', include('nested_admin.urls')),
)

Example Usage

In order to use django-nested-admin, use the following classes in place of their django admin equivalents:

django.contrib.admin nested_admin
ModelAdmin NestedAdmin
InlineModelAdmin NestedInlineModelAdmin
StackedInline NestedStackedInline
# An example admin.py for a Table of Contents app

from django.contrib import admin
import nested_admin

from .models import TableOfContents, TocArticle, TocSection

class TocArticleInline(nested_admin.NestedStackedInline):
    model = TocArticle
    sortable_field_name = "position"

class TocSectionInline(nested_admin.NestedStackedInline):
    model = TocSection
    sortable_field_name = "position"
    inlines = [TocArticleInline]

class TableOfContentsAdmin(nested_admin.NestedAdmin):
    inlines = [TocSectionInline]

admin.site.register(TableOfContents, TableOfContentsAdmin)

License

The django code is licensed under the Simplified BSD License. View the LICENSE file under the root directory for complete license and copyright information.

About

Django admin classes that allow for nested inlines

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 58.4%
  • JavaScript 31.6%
  • HTML 7.3%
  • CSS 2.7%