为Django Admin中的单独行添加操作按钮
项目描述
Django Admin Row Actions
允许您轻松定义一个附加在您的模型更改列表末尾的“操作”下拉菜单,并在该行上执行操作。
菜单项可以调用URL或方法,可以禁用,有工具提示等。
我从为http://hireablehq.com/编写的代码中提取了此代码。那里的管理员有Bootstrap可用,但我已修改了这个版本以使用独立的jQuery下拉菜单。
安装
-
从PyPI安装
pip install django-admin-row-actions
或使用pip和git安装
pip install git+https://github.com/DjangoAdminHackers/django-admin-row-actions.git
-
添加到INSTALLED_APPS
INSTALLED_APPS = [ ... 'django_admin_row_actions', ... ]
-
将混入添加到您的ModelAdmin
from django_admin_row_actions import AdminRowActionsMixin ... class ExampleAdmin(AdminRowActionsMixin, admin.ModelAdmin): ...
-
在您的ModelAdmin上定义一个
get_row_actions
方法def get_row_actions(self, obj): row_actions = [ { 'label': 'Edit', 'url': obj.get_edit_url(), 'enabled': obj.status is not 'cancelled', }, { 'label': 'Download PDF', 'url': obj.get_pdf_url(), }, { 'label': 'Convert', 'url': reverse('convert_stuff', args=[obj.id]), 'tooltip': 'Convert stuff', }, { 'divided': True, 'label': 'Cancel', 'action': 'mark_cancelled', }, ] row_actions += super(ExampleAdmin, self).get_row_actions(obj) return row_actions
前三个菜单项是您通过任何方式提供的简单链接到URL。
最后一个定义的是“操作”,而不是“URL”。这应该是您ModelAdmin
或Model
类上的可调用对象名称(类似于ModelAdmin.list_display)。
您可以使用“tooltip”字典键为每个单独的操作添加鼠标悬停工具提示,并使用“enabled”启用/禁用每个对象的单独操作。
可以将特殊选项“divided”传递给任何项,以显示其上方的水平线。
鸣谢
灵感来源于(并基于代码):django-object-actions
包含jquery-dropdown的部分组件;归功于Cory LaViska。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
django_admin_row_actions-0.10.0.tar.gz (10.5 kB 查看哈希值)
构建分发
关闭
哈希值 for django_admin_row_actions-0.10.0-py2.py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7ac3a9747727b1186b8c1a7d8067c6a0946d3df2bc3b8618a430b7f03c4630e1 |
|
MD5 | 603cfe2d41e7810a9e4f75b7f5c8151a |
|
BLAKE2b-256 | 89a7ab92b79c93da700657c5d1c3be594b6d474df307d00fc6f94df10ab4ed85 |