Pet*_*ley 6 python django django-admin django-admin-filters
我正在努力改进django项目中的admin.py,虽然我并没有完全了解该表如何在list_diplay中出现三个字段,但至少它只是获得一个默认对象列表跨越整个页面的列...
无论如何,我问的是为什么如果这样:
class FieldAdmin(admin.ModelAdmin):
list_display = ('name', 'label', 'standard', )
Run Code Online (Sandbox Code Playgroud)
看起来像这样:

当我添加list_filter时,如下所示:
class FieldAdmin(admin.ModelAdmin):
list_display = ('name', 'label', 'standard', )
list_filter = ['standard',]
Run Code Online (Sandbox Code Playgroud)
它为什么会这样?

有没有办法让列重新增长以填充宽度,就像添加过滤器之前一样?我一直在阅读文档和谷歌搜索,但它似乎没有内置?我正在研究的项目目前正在使用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;
}
Run Code Online (Sandbox Code Playgroud)
禁用宽度样式规范修复它,但我宁愿做django方式,如果有的话 - 我希望有一种方法可以自定义FieldAdmin类的过滤器视图?
您可能需要参考:https://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-vs-replacing-an-admin-template
基本上,需要覆盖change_list.html.
你可以这样做:
templates/
admin/
app/
change_list.html
Run Code Online (Sandbox Code Playgroud)
您可以从中获取change_list.html的副本 django/contrib/admin/templates/admin/
并按照你想要的方式更新css.
小智 5
管理员.py:
class MyClassAdmin(admin.ModelAdmin):
class Media:
css = {
'all': ('fancy.css')
}
Run Code Online (Sandbox Code Playgroud)
花式.css:
.column-foo {
width: 20px;
}
Run Code Online (Sandbox Code Playgroud)
其中“foo”是字段名称。
来源: https: //docs.djangoproject.com/en/3.0/topics/forms/media/
| 归档时间: |
|
| 查看次数: |
9108 次 |
| 最近记录: |