увеличить переменную в шаблонах Django - PullRequest
11 голосов
/ 24 марта 2010

All

Как мы можем увеличить значение, подобное следующему в шаблонах django,

  {{ flag =0 }}

  {% for op in options %}
   {{op.choices}}<input type="radio" name="template" id="template" value="template{{flag++}}"/>
  {% endfor %}

спасибо ..

Ответы [ 3 ]

18 голосов
/ 24 марта 2010

Я не думаю, что вы должны изменять данные в своих шаблонах. В вашем конкретном случае вы могли бы вместо этого использовать переменную forloop.counter.

Например:

{% for op in options %}
  {{op.choices}}<input type="radio" name="template" id="template{{forloop.counter}}" value="template{{forloop.counter}}"/>
{% endfor %}

Также обратите внимание, что я добавил это число в атрибуты id тега <input />. В противном случае у вас будет несколько входов с одинаковым идентификатором.

РЕДАКТИРОВАТЬ: я не заметил, что это был радиовход. Конечно, вы можете иметь одно и то же имя для каждого <input type="radio" />.

7 голосов
/ 24 марта 2010

Вы явно не можете сделать это в шаблоне. Переменные не допускаются.

Однако, если вам нужен только счетчик в вашем цикле, вам просто нужно использовать {{ forloop.counter }}.

3 голосов
/ 24 марта 2010

Возможно, вы также захотите, чтобы Django формы производили эти значения

...