increment a variable in django templates

后端 未结 3 1711
不知归路
不知归路 2021-02-05 22:45

All,

How Can we increment a value like the following in django templates,

  {{ flag =0 }}

  {% for op in options %}
   {{op.choices}}

        
相关标签:
3条回答
  • 2021-02-05 23:08

    I don't think it's intended you should alter data in your templates. For in your specific case, you could instead use the forloop.counter variable.

    For example:

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

    Also note that I added that number to the id attributes of the <input /> tag. Otherwise you'll have multiple inputs with the same id.

    EDIT: I didn't note that it was a radio input. You could of course have the same name for each <input type="radio" />.

    0 讨论(0)
  • 2021-02-05 23:22

    You explicitly can't do that in a template. Variable assignment is not allowed.

    However if all you want is a counter in your loop, you just need to use {{ forloop.counter }}.

    0 讨论(0)
  • 2021-02-05 23:25

    You might also want to look into having Django forms produce these values

    0 讨论(0)
提交回复
热议问题