Django-admin视图仅允许更改模型对象的值。但是,是否可以以简单的方式配置或更改管理视图,以便它开始在对象上公开函数?我不是在谈论可以在对象列表顶部的下拉菜单中引入的功能。我的意思是直接访问模型对象上的函数?
答案 0 :(得分:1)
您可以在网址中添加“^ admin / ...”网址,将自己的视图添加到管理网站。您可以使用它来相对容易地扩展管理站点,并通过您自己的视图公开模型方法。请参阅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)。
您可能希望覆盖object-tools块,该块保存页面右上角的按钮。 (在Django 1.3中,您可以扩展object-tools-items块,请参阅:https://code.djangoproject.com/ticket/12694)
(我很确定可以构建一个很好的插件/应用程序,它可以自动将模型中的对象工具添加到ModelAdmin中的自定义“object_tools”属性中,并附带一个模型方法列表。让我知道你发现类似的内容此。)