Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/theatlantic/django-nested-admin
Django admin classes that allow for nested inlines
https://github.com/theatlantic/django-nested-admin
django django-admin python
Last synced: 6 days ago
JSON representation
Django admin classes that allow for nested inlines
- Host: GitHub
- URL: https://github.com/theatlantic/django-nested-admin
- Owner: theatlantic
- License: other
- Created: 2014-06-26T18:05:49.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-08-13T02:15:45.000Z (3 months ago)
- Last Synced: 2024-10-30T02:29:40.303Z (14 days ago)
- Topics: django, django-admin, python
- Language: Python
- Homepage: http://django-nested-admin.readthedocs.org/
- Size: 3.3 MB
- Stars: 717
- Watchers: 44
- Forks: 99
- Open Issues: 52
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- Contributing: docs/contributing.rst
- License: LICENSE
Awesome Lists containing this project
README
django-nested-admin
###################|build_badge| |coverage_badge| |docs_badge|
**django-nested-admin** is a project that makes it possible to nest
admin inlines (that is, to define inlines on InlineModelAdmin classes).
It is compatible with Django 3.2+ and Python 3.7+ and works with or
without Grappelli. When Grappelli is not installed it allows
Grappelli-like drag-and-drop functionality.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:.. code-block:: python
INSTALLED_APPS = (
# ...
'nested_admin',
)If you’re using `django-grappelli `_,
you will also need to add to include ``nested_admin.urls`` in your urlpatterns:.. code-block:: python
urlpatterns = [
# ...
path('_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 NestedModelAdmin
InlineModelAdmin NestedInlineModelAdmin
StackedInline NestedStackedInline
TabularInline NestedTabularInline
======================== ======================There is also ``nested_admin.NestedGenericStackedInline`` and
``nested_admin.NestedGenericTabularInline`` which are the nesting-capable
versions of ``GenericStackedInline`` and ``GenericTabularInline`` in
``django.contrib.contenttypes.admin``... code-block:: python
# An example admin.py for a Table of Contents app
from django.contrib import admin
import nested_adminfrom .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.NestedModelAdmin):
inlines = [TocSectionInline]admin.site.register(TableOfContents, TableOfContentsAdmin)
Testing
=======django-nested-admin has fairly extensive test coverage.
The best way to run the tests is with `tox `_,
which runs the tests against all supported Django installs. To run the tests
within a virtualenv run ``pytest`` from the repository directory. The tests
require a selenium webdriver to be installed. By default the tests run with
phantomjs, but it is also possible to run the tests with the chrome webdriver
by passing ``--selenosis-driver=chrome`` to ``pytest`` or, if running with
tox, running ``tox -- --selenosis-driver=chrome``. See ``pytest --help`` for
a complete list of the options available.Contributing
============This project uses `webpack `_ for building its
javascript and css. To install the dependencies for the build process, run
``npm install`` from the root of the repository. You can then run
``npm run build`` to rebuild the static files.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... |build_badge| image:: https://github.com/theatlantic/django-nested-admin/workflows/Test/badge.svg
:target: https://github.com/theatlantic/django-nested-admin/actions
.. |coverage_badge| image:: https://codecov.io/gh/theatlantic/django-nested-admin/branch/master/graph/badge.svg
:target: https://codecov.io/gh/theatlantic/django-nested-admin
.. |docs_badge| image:: https://readthedocs.org/projects/django-nested-admin/badge/?version=latest
:target: http://django-nested-admin.readthedocs.org/en/latest/