【问题标题】:increment a variable in django templates在 Django 模板中增加一个变量
【发布时间】:2011-01-31 05:25:56
【问题描述】:
全部,
我们如何在 django 模板中增加如下值,
{{ flag =0 }}
{% for op in options %}
{{op.choices}}<input type="radio" name="template" id="template" value="template{{flag++}}"/>
{% endfor %}
谢谢..
【问题讨论】:
标签:
python
django
django-templates
【解决方案1】:
我不认为您应该更改模板中的数据。对于您的具体情况,您可以改用 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" /> 使用相同的名称。
【解决方案2】:
您明确不能在模板中执行此操作。不允许变量赋值。
但是,如果您只需要循环中的计数器,则只需使用 {{ forloop.counter }}。
【解决方案3】:
您可能还想研究让 Django forms 生成这些值