我的模板中包含以下代码:
{% for f in friendslist %}
{% if forloop.first %}
// display something
{% endif %}
// display stuff
{% if forloop.last %}
// display something
{% endif %}
{% endfor %}
当好友列表中有多个项目时,它会按预期工作。但是,如果只有一项,那么forloop.last中的内容
有条件的不显示。
我猜这是因为在这种情况下循环是第一个,但我的意思是它也是最后一个吧?那么为什么不在第一和最后两个内容中
有条件的表演?
最佳答案
在我的代码中,如果friendslist中只有一个元素,它们都将执行。这是一个可以在 shell 中运行的测试,也许您可以找出不起作用的地方:
$ ./manage.py shell
>>> from django import template
>>> t = template.Template("""{% for f in friendslist %}
{% if forloop.first %}
First of the loop
{% endif %}
{{ f }}
{% if forloop.last %}
Last of the loop
{% endif %}
{% endfor %}""")
>>> c = template.Context({'friendslist' : ['one element',]})
>>> t.render(c)
First of the loop
one element
Last of the loop
关于python - Django模板: forloop. first和forloop.last,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6998366/