19

ビューからデータベースのデータで構成されるテンプレートに変数を送信しました

これは私がテンプレートで使用しているものです

{% for i in data %}             
    <tr>
        <td>{{i.id}}</td>
        <td>{{i.first_name}}</td>
        <td>{{i.last_name}}</td>
        <td>{{i.email}}</td>
    </tr>
{% endfor %}

このループには 7 つのエントリがあります。カウント リースを表示する必要があります。これを行う方法を提案します。

4

2 に答える 2

45

ループ内では、と呼ばれる特別な変数にアクセスできloop、アイテムの数を{{ loop.length }}

ループ補助変数でできることはこれだけです。

  • loop.index ループの現在の反復。(1 インデックス)

  • loop.index0 ループの現在の反復。(インデックスなし)

  • loop.revindexループの最後からの反復回数 (1 インデックス付き)

  • loop.revindex0 ループの最後からの反復回数 (0 インデックス)

  • loop.first 最初の反復の場合は真。

  • loop.last最後の反復の場合は真。

  • loop.length シーケンス内のアイテムの数。

  • loop.cycle シーケンスのリスト間を循環するヘルパー関数。以下の説明を参照してください。

  • loop.depth 現在のレンダリングが再帰ループの深さの深さを示します。レベル1からスタート

  • loop.depth0 現在の再帰ループの深さを示します。レベル 0 から開始

編集:

de for ループの外にあるアイテムの数を確認するには、次のようにビューから別の変数を生成するか、フィルターcount_data = len(data)を使用できます。length

Data count is {{ data|length }}:
{% for i in data %}
    <tr>
      <td>{{i.id}}</td>
      <td>{{i.first_name}}</td>
      <td>{{i.last_name}}</td>
      <td>{{i.email}}</td>
    </tr>
{% endfor %}
于 2013-07-19T06:23:07.657 に答える
2

{{データ|長さ}}

これは完璧に機能します。これをループで使用する必要はありません。 ビューから別の変数を送信する必要がない場合でも、テンプレート内の任意の場所を使用するだけです。

于 2013-07-19T06:51:02.763 に答える