0

在 django-tables2 中,默认情况下所有表列都支持排序。这意味着所有列标题都呈现为链接,允许用户调整表数据的顺序。但我不希望将列标题呈现给链接,该怎么做?

这是文件!

默认情况下,所有表列都支持排序。这意味着所有列标题都呈现为链接,允许用户调整表数据的顺序。

可以基于表或列禁用排序。

Table.Meta.orderable = False – default to disable ordering on columns
Column(orderable=False) – disable ordering for specific column

例如禁用除一个以外的所有列:

class SimpleTable(tables.Table):
    name = tables.Column()
    rating = tables.Column(orderable=True)

    class Meta:
        orderable = False

我这样做了,但它不起作用。这是我的 talbes.py 文件:

class MusicBaseTable(tables.Table):
    songs = tables.CheckBoxColumn()
    title = tables.Column()
    artist = tables.Column()
    album = tables.Column()
    genre = tables.Column()
    date = tables.Column()

    class Meta:
        orderable = False
        attrs = {"class": "list"}
4

1 回答 1

9

它在文档中:

禁用特定列的排序

默认情况下,所有表列都支持排序。这意味着所有列标题都呈现为链接,允许用户调整表数据的顺序。

可以基于表或列禁用排序。

  • Table.Meta.orderable = False -- 默认禁用列排序
  • Column(orderable=False) -- 禁用特定列的排序,例如禁用除一个以外的所有列:

看看模板如何决定一列是否应该有订单链接:{% if column.orderable %}

于 2012-03-21T10:41:05.917 回答