【问题标题】:How to give a column in the Django admin change_list a CSS class如何为 Django 管理员 change_list 中的列提供 CSS 类
【发布时间】:2011-08-10 04:38:06
【问题描述】:

我想更改 Django 管理员列表显示中的列宽。

是否有可能以某种方式将 CSS 类名添加到列中? 我最好不要覆盖整个模板来完成此操作。

【问题讨论】:

    标签: django django-admin


    【解决方案1】:

    虽然正如 StvnW 所说,此功能在 vers1.6 中实现,但对于早期版本,您可以执行以下操作:

    在 admin.py 中:

    class MyModelAdmin(admin.ModelAdmin):
        # your code here
    
        # specify a stylesheet just for the list view
        class Media:
            css = {'all': ('css/mymodel_list.css')}
    

    在 mymodel_list.css 中:

    /* replace '5' with the column desired */
    table#result_list td:nth-child(5) {
        width: 15em;
    }
    

    指定table#result_list 只会将此样式表应用于列表视图,不会影响此模型的正常管理页面。另外请注意,虽然 django 使用 th 作为模型的第一列,但它仍然算作 td 子级。

    【讨论】:

    • 就我而言。 css = {'all': ('css/mymodel_list.css')} 应该添加一个逗号:css = {'all': ('css/mymodel_list.css', )} 成为一个元组。
    【解决方案2】:

    在 Django >= 1.6 中,CSS 类包含在 list_display 输出中:

    "list_display 中的字段名称也将作为 CSS 类出现在 HTML 输出中,在每个 <th> 元素上以 column-<field_name> 的形式出现。这可用于设置 CSS 中的列宽文件。"

    【讨论】:

    • 很有趣。实际上,我在最后一个 sprint 中在 Django 中添加了该提交。很高兴看到它已经被使用了:-D
    • @MarcioLuís 如果admin.py 中的类包含list_display = ('foo',),Django 管理员输出<th class="column-foo">。您可以在 CSS 中使用 .column-foo { width: ... ; }
    【解决方案3】:

    open ticket 解决了在 change_list 视图中为表列指定 css 类的需求。

    也就是说……在工单的描述中,有一个 sn-p 在你的 change_list-template 中注入了一个自定义样式表:

    {% extends "admin/change_list.html" %}
    {% block extrastyle %}
      {{ block.super }}
      <link rel="stylesheet" type="text/css" href="/css/poll_admin_changelist.css" />
    {% endblock extrastyle %}
    

    所以你不会覆盖整个模板,只覆盖你需要的部分(额外样式)。

    现在您可以注入自己的样式表,例如使用 :nth-child-selector 设置列的样式

    另一个选项是将您的特定字段包装在 html 中,这可以使用 list_display 选项来完成。在这里,您可以为包装元素定义宽度或类。 但是,如果您想控制有限字段集的宽度,这才有意义

    【讨论】:

    • FWIW,该票现已关闭为“固定”(截至 2013 年 7 月)
    猜你喜欢
    • 2013-02-26
    • 2011-07-26
    • 2012-06-06
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 2020-03-04
    • 2012-11-05
    相关资源
    最近更新 更多