python, создайте динамические значения html-имен.

Мне нужна небольшая помощь. Я зацикливаюсь на объектах, которые находятся в БД, и рендеринг всех объектов в шаблон, пока все хорошо. но я хочу, чтобы каждое отображаемое поле имени 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 %}

но если у меня есть 4 объекта в БД, то у меня будет 8 визуализированных полей ввода в шаблоне, но все они будут иметь значение "name" как name1 и name2, возможно ли динамическое создание 8 различных имен, чтобы я мог ссылаться всем им, на мой взгляд, снова...

Спасибо

1 ответ

Решение

Используйте переменную 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.counter 1-индексирован. Также есть forloop.counter0 для индексов, начинающихся с 0.

Вы уверены, что django formsets - это не то, что вам нужно?

Другие вопросы по тегам