我的模板中有以下代码:
{% for f in friendslist %}
{% if forloop.first %}
// display something
{% endif %}
// display stuff
{% if forloop.last %}
// display something
{% endif %}
{% endfor %}
当friendslist中有多个条目时,它可以正常工作,但如果只有一个条目,则forloop.last条件语句中的内容不会显示。
我想这是因为循环在第一个,但我的意思是它也是最后一个,对吗?,那么为什么第一个和最后一个条件中的内容不都显示出来?
4条答案
按热度按时间j13ufse21#
在我的代码中,如果friendslist中只有一个元素,那么它们都会执行。下面是一个可以在shell中运行的测试,也许你可以找出哪些元素不起作用:
rmbxnbpk2#
你不能只使用一个“或”标记像{% if forloop.last或friendlist.count == 1%}
sqxo8psd3#
你也可以在模板中使用“not”来解决这个问题。即使列表中只有一个项目,它也能工作。
uplii1fm4#
举例说明了当您需要访问包含JSON数组的嵌套JSON时,可以接受的答案,并且只获取第一个元素。
在下面的例子中,关于用户的地址,我只想显示用户配置文件中注册的第一部电话的电话号码。
将传递给HTML模板的示例
users
jsonHTML文件,使用Jinja在表中呈现此示例: