0

以下のサンプル構造があります

'_id': 1
'company': 'XXX'
'numberOfProducts': 2
'products': [
        {'sku': 'cnx1cs', 'name': 'canon', 'qty': 3},
        {'sku': 'nkx1cs', 'name': 'nikon', 'qty': 2}
         ]

{{list_of_assets.products.0.name}}(Django の) html ファイル内でこの表記法を使用すると、dict.items()/dict.iteritems()特にネストされた配列がはるかに多い場合に使用するよりも、はるかに快適に思えます。

しかし、forループ内で配列項目番号を制御する方法がわかりませんでした...

上記のサンプルを考えると、どうすれば for ループを 2 回反復し、タグ内の変数を使用して以下の表記を生成できますか

    {{list_of_assets.products.0.name}}
    ....
    {{list_of_assets.products.1.name}}

よろしく

4

2 に答える 2

0

Django テンプレートでは、複雑なループ構造やプログラミングは許可されていません。(テンプレートの哲学の詳細については、http ://www.djangobook.com/en/2.0/chapter04.htmlセクション: 哲学と制限を参照してください。

つまり、配列内のすべてのアイテムを表示する唯一の方法は、上記で提案されたソリューション karthikr を使用することです。

{%for p in list_of_assets.products %}
    {{p.name}}
{% empty %}
    Nothing in the list!
{% endfor %}
于 2013-06-10T03:14:38.273 に答える
0

できるよ

{% for product in list_of_assets.products %}
  {{product.name}}
{% endfor %}
于 2013-06-09T21:07:40.240 に答える