当添加list_filter时,如何在django modeladmin更改列表表中固定/设置列宽?

问题描述 投票:7回答:2

我正在改善django项目中的admin.py,尽管我对表在list_diplay中具有三个字段的输出方式不甚了解,但至少比获取默认对象列表要好一栏跨越整个页面...

无论如何,我要问的是为什么这样做:

class FieldAdmin(admin.ModelAdmin):
    list_display = ('name', 'label', 'standard',  )

看起来像这样:

“没有list_filter”

当我添加list_filter时,如下所示:

class FieldAdmin(admin.ModelAdmin):
    list_display = ('name', 'label', 'standard',  )
    list_filter = ['standard',]

为什么看起来像这样?

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLmltZ3VyLmNvbS9FbTBzWS5wbmcifQ==” alt =“ Imgur”>

是否有一种方法可以使列重新增长以填充宽度,就像添加过滤器之前一样?我一直在阅读文档并进行谷歌搜索,但是它似乎不是内置的?我正在处理的项目目前正在使用Django 1,2,3,final。

FWIW,导致此问题的CSS在这里:

.change-list .filtered table, .change-list .filtered .paginator, 
.filtered #toolbar, .filtered div.xfull {
    margin-right: 160px !important;
    width: auto !important;
}

禁用宽度样式规范可以解决此问题,但是如果有的话,我宁愿以django的方式处理-我希望也许可以通过FieldAdmin类自定义过滤器视图?

python django django-admin django-admin-filters
2个回答
6
投票

您可能要参考:https://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-vs-replacing-an-admin-template

基本上,change_list.html需要被覆盖。

您可以这样操作:

templates/
  admin/
    app/
      change_list.html

您可以从django/contrib/admin/templates/admin/获取change_list.html的副本>

并按照您想要的方式更新CSS。


0
投票

admin.py:

© www.soinside.com 2019 - 2024. All rights reserved.