如何在Django HTML模板中仅迭代列表的最后5个年份?
解决Django模板中仅迭代列表前5个年份的问题
嘿,我来帮你搞定这个问题!你之前尝试的year[:4]其实是针对字符串的切片操作,但你的year是整数类型,所以这个写法完全起不到限制循环数量的作用,反而会报错或者无效。
要实现只迭代列表中的前5个年份(也就是你需要的2020、2019、2018、2017、2016),直接在循环的列表上使用Django支持的切片语法就可以了:
<tr><th></th>{% for year in years[:5] %}<th>{{ year }}</th>{% endfor %}</tr>
这里的years[:5]表示取列表的前5个元素,正好匹配你给出的倒序列表(从2020开始到2000),完美筛选出你需要的最近5年。
如果你的年份列表是正序排列(比如从2000到2020),那就要用years[-5:]来取最后5个元素,但根据你的描述,当前列表是倒序的,所以[:5]就完全够用啦。
内容的提问来源于stack exchange,提问作者user13115670
相关产品推荐
相关产品推荐

