【发布时间】:2011-01-27 00:55:17
【问题描述】:
Django-admin 视图只允许更改模型对象的值。但是,是否有可能以简单的方式配置或更改管理视图,以便它开始在对象上公开功能?我不是在谈论可以在对象列表顶部的下拉菜单中引入的功能。我的意思是直接访问模型对象上的函数?
【问题讨论】:
-
我认为这与您将获得的一样接近 - 行动。
标签: django django-admin
Django-admin 视图只允许更改模型对象的值。但是,是否有可能以简单的方式配置或更改管理视图,以便它开始在对象上公开功能?我不是在谈论可以在对象列表顶部的下拉菜单中引入的功能。我的意思是直接访问模型对象上的函数?
【问题讨论】:
标签: django django-admin
您可以通过在您的 url conf 中添加“^admin/...”url 来将您自己的视图添加到管理站点。您可以使用它来相对容易地扩展管理站点并通过您自己的视图公开模型方法。请参阅此处的 Creating Custom Admin Views:http://www.djangobook.com/en/1.0/chapter17/(以及此处的另一种方法和注释:https://docs.djangoproject.com/en/dev/ref/contrib/admin/#adding-views-to-admin-sites)。
要将其添加为管理站点中模型的“更改表单”中的按钮,请覆盖所需模型的change_form.html 模板(请参阅https://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-admin-templates)。
您可能想要覆盖对象工具块,该块包含页面右上角的按钮。 (在 Django 1.3 中,您可以扩展 object-tools-items 块,请参阅:https://code.djangoproject.com/ticket/12694)
(我很确定可以构建一个不错的插件/应用程序,该插件/应用程序可以从 ModelAdmin 中的自定义“object_tools”属性自动将对象工具添加到模型中,其中包含模型方法列表。如果您找到类似的东西,请告诉我这个。)
【讨论】: