java中有一个forloop,我可以告诉你从哪里开始,到哪里结束:
for(int i=10;i<array.length;i++){
}
但是如何在django模板中实现此int i=10
?我怎样才能自己设定起点和终点?
有一个forloop.first
和forloop.last
,但它们是在循环中定义的,我不能做这样的事情吗?:
{{forloop.first=10}}
{% for athlete in athlete_list %}
<li>{{ athlete.name }}</li>
{% endfor %}
{{forloop.last=20}}
我读了django doc,但这个功能似乎不存在
答案 0 :(得分:6)
如何使用内置slice过滤器:
{% for athlete in athlete_list|slice:"10:20" %}
<li>{{ athlete.name }}</li>
{% endfor %}
如果你需要创建一个数字循环(就像python的range
),你需要一个自定义模板标签,如下所示:http://djangosnippets.org/snippets/1926/
请参阅其他range
摘要:
另见:
顺便说一句,这听起来不像模板的工作 - 考虑从视图中传递范围。而且,仅供参考,有一个proposal来制作这样的标签,但它被拒绝了,因为it is trying to lead to programming in the template.
- 想一想。