Django管理员和列宽通过list_display

时间:2014-08-07 13:51:14

标签: django django-admin

我读了Django> = 1.6 docs:

  

“list_display中的字段名称也将显示为CSS类   HTML输出,以每列的形式列出   元件。这可用于在CSS文件中设置列宽。“

行。但是,怎么样?

class bollaAdmin(admin.ModelAdmin):
  ordering = ['num']
  list_display = ('num|width=15', 'Vendemmia','Cultivar', 'Provenienza' , 'netto', 'grado','montegradi')

2 个答案:

答案 0 :(得分:3)

以下是来自我的某个管理员的包含属性headline的列的HTML代码段:

<th scope="col" class="sortable column-headline">
   <div class="text"><a href="?o=2.4.-5">Headline</a></div>
   <div class="clear"></div>
</th>

你可以在CSS中设置它的宽度:

th.column-headline {
  width: 10000000px;
}

答案 1 :(得分:1)

这是懒惰的人在django admin中扩展列宽而不进行css覆盖的方法。

from django.utils.html import format_html

class MyModelAdmin(admin.ModelAdmin):
    ...
    def get_column_extended_field(self, obj):
        result = ''
        field_value = obj.field_value
        if field_value:
            spaces = '&nbsp;' * 75
            result = format_html('{result}<br/>' + spaces, result=field_value)
        return result
    get_column_extended_field.short_description = _('Extended Field')