tabbed_fieldset.html声明:
if forloop.counter0 > 0 and forloop.last
#do stuff`
我刚写了一个单独的文件:
for fieldset in adminform
if not forloop.last
include "admin/includes/tabbed_fieldset.html"
else
include "admin/includes/geo_fieldset.html"
endif
endfor
现在tabbed_fieldset.html
的代码已经不再有效了,因为如果它是forloop.last
,它甚至不会出现在tabbed_fieldset.html
中,它会在geo_fieldset.html
。
是否有一种简单的方法可以将forloop.last
更改为forloop second to last
?
答案 0 :(得分:5)
感谢您的代码!查看此网站:https://docs.djangoproject.com/en/1.8/ref/templates/builtins/
for循环设置了循环中可用的许多变量:
forloop.counter - 循环的当前迭代(1索引)
forloop.counter0 - 循环的当前迭代(0索引)
forloop.revcounter - 循环结束时的迭代次数(1索引)
forloop.revcounter0 - 循环结束时的迭代次数 (0-索引)
forloop.first - 如果这是第一次通过循环,则为真
forloop.last - 如果这是最后一次循环,则为真
forloop.parentloop - 对于嵌套循环,这是围绕当前循环的循环
基本上,您可以使用forloop.revcounter
或forloop.revcounter0
for fieldset in adminform
if forloop.revcounter0 > 1
include "admin/includes/tabbed_fieldset.html"
else
include "admin/includes/geo_fieldset.html"
endif
endfor