动态自定义 django 管理列?
Posted
技术标签:
【中文标题】动态自定义 django 管理列?【英文标题】:Dynamically customize django admin columns? 【发布时间】:2011-02-05 18:09:25 【问题描述】:是否可以让用户在 Django 管理中动态选择/更改对象列表中显示的列?
当然可以通过修改“change_list.html”模板“从头开始”实现,但我想知道是否有人已经遇到过同样的问题和/或是否有任何 django-pluggin 可以做到这一点。
提前致谢,
【问题讨论】:
【参考方案1】:从 Django 1.4 开始,您可以使用 get_list_display() 执行此操作:https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_list_display
【讨论】:
【参考方案2】:django-xadmin 有这个功能:
它还有一些其他很酷的功能,但我还没有开始使用它,因为文档的英文翻译还没有发布(截至 13 年 10 月)。你可以看看源代码给你一些想法。
查看live demo
用户:管理员 密码:admin
注意:我没有参与 x-admin,我只是和 OP 有同样的问题。
【讨论】:
我尝试将 x-admin 与 python3 一起使用,但它基本上坏了。我修复了重新加载的问题(重新加载模块闻起来代码不好),然后弹出另一个问题。【参考方案3】:如果我正确解释了您的问题,解决方案是在您的 ModelAdmin 扩展中为该对象设置 list_display。参考Django Tutorial, Part 2。
【讨论】:
嗨,马特,感谢您的回答。事实上,我的问题是:应用程序用户(不是开发人员)如何动态地更改**显示的列(来自管理界面,而不是来自 python 代码)。不知道有没有可能…… 感谢您的澄清。如果我不得不猜测,我认为最简单的方法是编辑模板并添加大量 CSS 来隐藏/取消隐藏某些列并插入一个菜单来切换它,但这是一个相当未受教育的猜测和远非理想。 Matt,这很难做到,因为 Django 不标记更改列表列,例如字段名称为 CSS 类。这就是code.djangoproject.com/attachment/ticket/11195 旨在解决的问题。以上是关于动态自定义 django 管理列?的主要内容,如果未能解决你的问题,请参考以下文章
在自定义管理页面中显示正确的 django 身份验证框架信息
django中的admin组件之自定义组件的数据展示以及自定义列
如何允许在 Django 管理员中通过自定义 list_display 字段进行排序,该字段没有 DB 字段,也没有可注释