1

私は小さな助けが必要です..私はdbにあるオブジェクトをループし、すべてのオブジェクトをテンプレートにレンダリングしています。しかし、私が欲しいのは、レンダリングされたすべてのhtml名フィールドに異なる名前を付けて、後でそれらすべてを参照できるようにすることです。私のコードはこれです:

{% for p in products %}
      <input type="number" name="name1" value="{{p.arg1}}" size="12"/>
          <input type="number" name="name2" value="{{p-arg2}}" size="12"/>
{% endfor %}

しかし、DBに4つのオブジェクトがある場合、テンプレートには8つのレンダリングされた入力フィールドがありますが、それらはすべてname1およびname2として「name」値を持ちます。参照できるように8つの異なる名前を動的に作成することは可能ですか?再び私の見解でそれらのすべてに...

ありがとう

4

1 に答える 1

2

forloop.counter変数を使用します

{% for p in products %}
    <input type="number" name="name-{{forloop.counter}}-arg1" value="{{p.arg1}}" size="12"/>
    <input type="number" name="name-{{forloop.counter}}-arg2" value="{{p.arg2}}" size="12"/>
{% endfor %}

forloop.counter1インデックスです。forloop.counter00で始まるインデックス用もあります。

そのdjangoフォームセットは必要なものではありませんが、よろしいですか?

于 2012-05-27T21:56:12.840 に答える