如何在django模板中设置自定义forloop起点

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.firstforloop.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,但这个功能似乎不存在

ale*_*cxe 6

如何使用内置切片过滤器:

{% 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.- 因为- 考虑一下.