2

を使用して、表django-tables2{% render_table table %}ある Web ページを表示しています。テーブルには複数の行と列があります。一部の列には、複数行にわたるテキストがあります。これにより、高さが異なる行が作成されます。

CSS をいじってみましたが、幅には影響しないようです。

.my_col_2 {
    width: 100px;
}

私のviews.py:

def index(request):
    table = OrderTable(Order.objects.all(), order_by="-order_date")
    RequestConfig(request, paginate={"per_page": 10}).configure(table)
    return render(request, 'orders_app/index.html', {'table': table})

django-tables2 を使用する場合、列の幅と行の高さを手動で指定するにはどうすればよいですか?

4

2 に答える 2

3

列の制限要因として、幅または高さを選択する必要があります。コンテンツの長さを指定できないと仮定すると、表示されるものを切り捨てることを選択できます。

セル内のテキストの量に関係なく、表の列幅を一定に 設定しますか? CSSを 使用してワード ラップなしで特定の幅のテーブル セルを作成する 場合、テーブルのレイアウトと幅の設定をいじらずに、テーブルの列の幅を直接設定することは困難または不可能です。または、すべてのコンテンツを div で囲み、書式設定をそれらの div に適用することもできます。

これを tables2 で実現するために、table.Column をオーバーライドしました。

class DivWrappedColumn(tables.Column):

    def __init__(self, classname=None, *args, **kwargs):
        self.classname=classname
        super(DivWrappedColumn, self).__init__(*args, **kwargs)

    def render(self, value):
        return mark_safe("<div class='" + self.classname + "' >" +value+"</div>")

テーブルに列を作成します。

    custom_column = DivWrappedColumn(classname='custom_column')

そしてcssを適用します:

div.custom_column {
  white-space: normal;
  width: 200px;
  height: 45px;
}

これにより、固定幅、固定高のセルが生成され、行がなくなるまでラップされてから切り捨てられます。

または、「空白: nowrap」を使用し、高さを省略します。その場合、セルは切り捨てられます (ただし、ユーザーはスクロールできます)。

于 2013-11-13T06:40:05.327 に答える