跳转到主要内容

一个简单的django应用,为管理中的FK字段提供修改和删除链接。

项目描述

Build Status Coverage Status

概述

这是一个简单的django应用,在ticket #13163#13165 未修复的情况下,为管理中的FK字段提供修改和删除链接。

请注意,此应用仅与django >= 1.4兼容。

显示

Selected

已选择

Empty

用法

安装 django-admin-enhancer 的推荐方法是使用 pip

pip install django-admin-enhancer

'admin_enhancer' 添加到您的 INSTALLED_APPS 中,以避免出现 TemplateDoesNotExist 错误。

在使用处理 django.contrib.admin.ModelAdmin 子类时,确保混入 EnhancedModelAdminMixin,处理 django.contrib.admin.InlineModelAdmin 关系两端时,确保混入 EnhancedAdminMixin。混入位于 admin_enhancer.admin

如果编辑和删除控制出现,但弹出窗口没有关闭,选择框也没有更新,那么您所提到的字段的 ModelAdmin 子类可能没有与 EnhancedModelAdminMixin 混合。

有关示例,请查看 此处

Django CMS 支持

Django CMS (https://www.django-cms.org/) 定义了一个插件系统来创建可插拔的应用程序;其插件系统依赖于标准的 Django admin 框架,因此可以使用此项目轻松地 增强 插件。

插件增强

要将 admin_enhancer 支持添加到您自己的插件中,只需在插件类定义中添加 admin_enhancer.EnhancedAdminMixin

...
from admin_enhancer.admin import EnhancedAdminMixin

class MyOwnPlugin(EnhancedAdminMixin, CMSPluginBase):
    name = "whatever"

    ...
plugin_pool.register_plugin(MyOwnPlugin)

增强 第三方插件,请取消注册原始插件,并使用您自己的基类扩展它。

...
from other.app.cms_plugins import ThirdPartyPlugin
from admin_enhancer.admin import EnhancedAdminMixin

class EnhancedThirPartyPlugin(EnhancedAdminMixin, ThirdPartyPlugin):
    pass

    ...
plugin_pool.unregister_plugin(ThirdPartyPlugin)
plugin_pool.register_plugin(EnhancedThirPartyPlugin)

页面管理支持

Django CMS 定义了一个用于其 Page 对象的 ModelAdminadmin_enhancer.contrib.djangocms 定义了一个新的 ModelAdmin 用于 Page 以增强它。要安装它,请将 admin_enhancer.contrib.djangocms 添加到 INSTALLED_APPS之后 是任何 django-cmsdjango-admin-enhancer-相关应用程序。

Django Filer 支持

django-filer (https://github.com/stefanfoulis/django-filer) 有其自己的 增强 小部件,它与 django-admin-enhancer 冲突;要 增强 基于 filer 的应用程序,请使用您的 ModelAdmin 中的 enhance_exclude 属性来排除基于 filer 的字段从 增强,同时允许其他字段被丰富。

cmsplugin_filer (https://github.com/stefanfoulis/cmsplugin-filer) 可以扩展以支持像其他 django CMS 插件一样支持 django-admin-enhancer;为了更好的支持,admin_enhancer.contrib.filer 定义了一个新的 ModelAdmin 用于 ThumbnailOption 类。要安装它,请将 admin_enhancer.contrib.filer 添加到 INSTALLED_APPS admin_enhancer.contrib.djangocms 之前。