ani*_*k_s 4 python django django-templates
我在 django 模板页面中有这段代码
<select class="selectpicker datatable-column-control" multiple
{% for q_group in question_groups %}
<optgroup label="{{ q_group.name }}">
{% for q in q_group.questions %}
<option value="{{ forloop.counter0 }}">{{ q.title }}</option>
{% endfor %}
</optgroup>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我想要每个选项标签的值在每次迭代中都会增加。如果我有 10 个选项标签,那么它们的值将从 0 到 9。这
forloop.counter0不能满足我的需求,因为当外循环完成一次时,内循环计数器初始化为 0。
itertools.count将对象传递给模板怎么样?
模板:
<select class="selectpicker datatable-column-control" multiple>
{% for q_group in question_groups %}
<optgroup label="{{ q_group.name }}">
{% for q in q_group.questions %}
<option value="{{ counter }}">{{ q.title }}</option>
{% endfor %}
</optgroup>
{% endfor %}
</select>
Run Code Online (Sandbox Code Playgroud)
看法:
import itertools
import functools
render(request, 'template.html', {
question_groups: ...,
counter: functools.partial(next, itertools.count()),
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7900 次 |
| 最近记录: |