在Django模板中自增变量
大家好,
我们在Django模板中,怎么能像下面这样增加一个值呢,
{{ flag =0 }}
{% for op in options %}
{{op.choices}}<input type="radio" name="template" id="template" value="template{{flag++}}"/>
{% endfor %}
谢谢大家..
3 个回答
3
你可能还想了解一下如何让Django的表单生成这些值。
9
在模板里,你是不能这样做的。变量赋值是不被允许的。
不过,如果你只是想在循环中使用一个计数器,那你只需要用 {{ forloop.counter }}
就可以了。
20
我觉得在模板里修改数据不是很合适。在你的具体情况下,你可以使用 forloop.counter
这个变量。
比如说:
{% for op in options %}
{{op.choices}}<input type="radio" name="template" id="template{{forloop.counter}}" value="template{{forloop.counter}}"/>
{% endfor %}
另外,我还把这个数字加到了 <input />
标签的 id
属性上。否则你会有多个输入框的 id
是一样的。
补充一下:我之前没注意到这是一个单选框。其实每个 <input type="radio" />
可以用相同的名字。