跳转到主要内容

允许嵌套内联的Django管理类

项目描述

build_badge coverage_badge docs_badge

django-nested-admin 是一个项目,它使得在 InlineModelAdmin 类中定义内联 (即嵌套内联) 成为可能。它与 Django 3.2+ 和 Python 3.7+ 兼容,并支持或不需要 Grappelli。当 Grappelli 没有安装时,它允许类似 Grappelli 的拖放功能。

安装

推荐通过 PyPI 安装 django-nested-admin

pip install django-nested-admin

或者,也可以从源代码安装 django-nested-admin 的开发副本

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

如果源代码已经检出,使用 setuptools 安装

python setup.py develop

配置

要在项目中使用 django-nested-admin,必须在 settings 中的 INSTALLED_APPS 中添加 "nested_admin"

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

如果你使用 django-grappelli,还需要将 nested_admin.urls 添加到你的 urlpatterns

urlpatterns = [
    # ...
    path('_nested_admin/', include('nested_admin.urls')),
]

示例用法

为了使用 django-nested-admin,请使用以下类替代其 django admin 等效类

django.contrib.admin

nested_admin

ModelAdmin

NestedModelAdmin

InlineModelAdmin

NestedInlineModelAdmin

StackedInline

NestedStackedInline

TabularInline

NestedTabularInline

还有 nested_admin.NestedGenericStackedInlinenested_admin.NestedGenericTabularInline,它们是 django.contrib.contenttypes.adminGenericStackedInlineGenericTabularInline 的嵌套版本。

# 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.NestedModelAdmin):
    inlines = [TocSectionInline]

admin.site.register(TableOfContents, TableOfContentsAdmin)

测试

django-nested-admin 具有相当广泛的测试覆盖率。运行测试的最佳方式是使用 tox,它在所有支持的 Django 安装上运行测试。在虚拟环境中运行测试时,从存储库目录中运行 pytest。测试需要安装 selenium webdriver。默认情况下,测试使用 phantomjs 运行,但也可以通过将 --selenosis-driver=chrome 传递给 pytest 或在运行 tox 时运行 tox -- --selenosis-driver=chrome 来使用 chrome webdriver。有关可用选项的完整列表,请参阅 pytest --help

贡献

此项目使用 webpack 来构建其 JavaScript 和 CSS。要安装构建过程的依赖项,请在存储库根目录中运行 npm install。然后,您可以通过运行 npm run build 来重新构建静态文件。

许可

django 代码根据 简化版 BSD 许可证 许可。在根目录下的 LICENSE 文件中查看完整的许可和版权信息。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。

源分发

django-nested-admin-4.1.1.tar.gz (421.6 kB 查看散列)

上传时间

构建分发

django_nested_admin-4.1.1-py3-none-any.whl (465.4 kB 查看散列)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面