0

次のテンプレート、つまりindex.htmlがあります。私はdjangoフレームワークで作業しています。今、車の全速度が30kmを超える値を示しました。値を出力する関連コードの一部をここに投稿しました。つまり、コードは

{% for v in values %}
      {% if v.speed > 30 %}
        {{v.speed}}
      {% endif %}
{% endfor %}  

今、私はv.speed値を数えたいだけです.pythonまたはdjango count関数を使用してそれを行うにはどうすればよいですか.そのセクションで私のコードを編集できます.

ありがとうございました。

4

3 に答える 3

1

django では変数の代入は許可されていません。したがって、唯一の選択肢は、python 自体でカウントを行い、対応するデータをテンプレートに渡すことです。

したがって、Pythonで次のことを行う必要があります

speedy_values = [v for v in values if v.speed > 30]

そして、テンプレートに speedy_values を渡します

{% for v in speedy_values %}
      {{v.speed}}
{% endfor %}
{{ v|length }} number of cars have speed greater than 30.
于 2013-11-10T10:30:31.643 に答える
1

Django QuerySet の場合valuesは、そのまま使用できます.count()

{% for v in values %}
  {% if v.speed > 30 %}
    {{v.speed}}
  {% endif %}
{% endfor %}

{{values.count}}

使用することもできます{{values|length}}

于 2013-11-10T10:22:12.630 に答える
0

または、QuerySet既に評価されているため、lengthフィルターを使用すると追加のクエリを節約できます。

{% for v in values %}
  {% if v.speed > 30 %}
    {{v.speed}}
  {% endif %}
{% endfor %}

{{values|length}}

ドキュメンテーション

于 2013-11-10T11:39:14.157 に答える