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