приращение переменной в шаблонах django

Все,

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

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

благодаря..

3 Solutions collect form web for “приращение переменной в шаблонах django”

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

Например:

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

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

EDIT: Я не заметил, что это радиоприемник. Разумеется, вы можете иметь одно и то же имя для каждого <input type="radio" /> .

Вы явно не можете сделать это в шаблоне. Назначение переменной не допускается.

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

Вы также можете посмотреть, как формы Django создают эти значения

  • Итерация через два списка в шаблонах Django
  • render_to_response дает TemplateDoesNotExist
  • Что такое идиоматический эквивалент Python для тега шаблона «перегруппировки» Django?
  • jinja2: Как заставить его терпеть неудачу. Как djangotemplate
  • В Jinja2, как я могу использовать макросы в сочетании с блочными тегами?
  • Ошибка приема: обратное значение для аргументов '()' и аргументов ключевых слов не найдено
  • Арифметика шаблонов Django
  • Как изменить выходной формат django datetime?
  • Python - лучший язык программирования в мире.