15

django-tables 2を使用してクエリセットをレンダリングしていますが、テーブルが一度にレンダリングされるため、以下を管理できません。まず、テーブルの行数がクエリセットごとに異なるため、管理しません。それらの正確な数を事前に知っておいてください。必要なのは、フォームのフィールド内に取得したオブジェクトをロードするボタンを1行に1つ持つことです。デフォルトの方法でテーブルをレンダリングします。

{% load render_table from django_tables2 %}
{% render_table table %} 

テーブルの行を反復処理しようとすると、「テーブルは反復可能ではありません」というエラーが表示されます。

では、行ごとに1つのボタンを追加するにはどうすればよいですか?

4

1 に答える 1

14

テーブルにテンプレート列を作成できます。これにより、次のようなボタンがレンダリングされます。

class MyTables(tables.Table):
  ...
  my_column = tables.TemplateColumn(verbose_name=_('My Column'),
                                    template_name='app/my_column.html',
                                    orderable=False) # orderable not sortable

テンプレートmy_columnでは、行は変数レコードにあります。

{{ record.my_field }}
于 2012-08-30T07:38:12.797 に答える