Django 模板语言获取列表的下标、索引。如何给列表显示序号。
注意:本文章被盗
被盗网址:http://nicethemes.cn/news/txtlist_i141862v.html
博主在:2021-08-15 17:55:14发布,在:2021-08-15 18:04 被该网站盗用。
1. 问题描述
需求,希望django 视图传给模板的一个可迭代对象,比如列表
lst = [1,'a','b']
模板中可以用
1. 1
2. a
3. b
根据索引进行显示
2. 解决方法
有的同学说使用enumerate
{%for index,val in enumerate(lst) %}
<p>{{index}}.{{val}}</p>
{%endfor%}
这个会出错,这个是不支持的
方法1:自己写个过滤器,此处略。没必要,太复杂了
方法2:使用 内置变量forloop
只要是可迭代对象都内置一个 forloop
也就是这么用
{%for i in lst%}
<p>{{forloop.counter}}-{{i}}</p>
{%endfor%}
3. forloop方法介绍
1. forloop.counter:循环的当前迭代(从1开始)当前索引
2. forloop.counter0:循环迭代从0开始
3. forloop.revcounter:counter值得倒序
4. forloop.revcounter0:revcounter值倒序
5. forloop.first 如果这是第一次通过循环则为真
6. forloop.last 最后一次循环 则为真
7. forloop.parentloop 当嵌套循环,parentloop 表示外层循环