在django管理面板中更改列宽

Ami*_*tad 6 python django django-admin django-views

我的admin.py看起来像这样:

class ChangeAdmin(GuardedModelAdmin):
    form = ChangeForm
    search_fields = ('RFC', 'Ticket_Number', 'User_Email', 'Change_Details')
    list_display = ('RFC', 'Ticket_Number', 'User_Requested_Time', 'Start_Time', 'End_Time',
                    'User_Email', 'Line_of_Business', 'Conf_Call_Details', 'Region',
                    'Summary', 'Description', 'Change_Details', 'Site_code', 'Configuration_Item',
                    'Plan_Owner', 'Plan_status', 'Change_Owner', 'Implementer', 'Validator')
    date_hierarchy = 'Start_Time'
    list_select_related = True
Run Code Online (Sandbox Code Playgroud)

很明显,表格显示中有很多列表字段.这搞砸了数据在列中的显示方式.查看截图在此输入图像描述

如何在django admin中调整列宽?

小智 6

我想你应该尝试这一个或这一个。第二个链接对我来说就像一个魅力。

顺便说一句:(这应该是评论,但我不是 50 代表)你是如何实现这种外观的?我使用 grappelli,但与您的主题相比,它看起来非常愚蠢。我的用户不断抱怨我的应用程序缺乏图形设计......


小智 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/


max*_*max 0

我在 django-suit 中使用了这种方法:

管理员.py

class GuardedAdmin(admin.ModelAdmin):
    class Media:
        js = ('js/guarded_admin.js',)
Run Code Online (Sandbox Code Playgroud)

js/guarded_admin.js

$(function(){
  $(".guarded-column.column-guarded").attr("width", "100px;");
})
Run Code Online (Sandbox Code Playgroud)

您只需要弄清楚您的情况下的列名称是什么,然后在上面的代码中更改它。

更新

我最近尝试过这个并且它有效(鉴于您的专栏称为报告):

$('.reports-column').find('span').attr('style', 'width:150px;')
Run Code Online (Sandbox Code Playgroud)