Python 添加列表过滤器时,如何修复/设置django modeladmin更改列表表中的列宽?

Python 添加列表过滤器时,如何修复/设置django modeladmin更改列表表中的列宽?,python,django,django-admin,django-admin-filters,Python,Django,Django Admin,Django Admin Filters,我正在一个django项目中改进admin.py,虽然我对列表中有三个字段的表是如何产生的并不十分感兴趣,但至少比只获得一个默认对象列表,其中一列跨越整个页面要好 不管怎样,我想问的是,如果: class FieldAdmin(admin.ModelAdmin): list_display = ('name', 'label', 'standard', ) 看起来像这样: class FieldAdmin(admin.ModelAdmin): list_display = (

我正在一个django项目中改进admin.py,虽然我对列表中有三个字段的表是如何产生的并不十分感兴趣,但至少比只获得一个默认对象列表,其中一列跨越整个页面要好

不管怎样,我想问的是,如果:

class FieldAdmin(admin.ModelAdmin):
    list_display = ('name', 'label', 'standard',  )
看起来像这样:

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

当我添加列表过滤器时,如下所示:

class FieldAdmin(admin.ModelAdmin):
    list_display = ('name', 'label', 'standard',  )
    list_filter = ['standard',]
为什么看起来像这样

有没有办法让列重新增长以填充宽度,就像添加过滤器之前一样?我一直在阅读文档和谷歌搜索,但它似乎不是内置的?我正在做的项目目前正在使用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;
}

禁用width样式规范可以解决这个问题,但是如果有django方式的话,我更愿意这样做-我希望有一种方法可以从FieldAdmin类自定义过滤器视图?

您可能希望参考以下内容:

基本上,需要覆盖change_list.html

您可以这样做:

templates/
  admin/
    app/
      change_list.html
您可以从
django/contrib/admin/templates/admin/

并以您希望的方式更新css

admin.py:

class MyClassAdmin(admin.ModelAdmin):

    class Media:
        css = {
            'all': ('fancy.css')
        }
fancy.css:

.column-foo {
    width: 20px;
}
其中“foo”是字段名


资料来源:

我意识到这在事情的发展过程中并不是一件大事,但对于这样一件小事来说,这似乎是极端的(显然我不是在责备你,这只是令人失望;-)谢谢你的回答!