我正在尝试创建 JSONField 的文本表示形式,其中包含一些结构为字典数组的数据,如下所示:
[
{
"key1":"value1",
"key2":"value2"
},
{
"key3":"value3",
"key4":"value4",
"key5":"value5"
}
]
我的目标是在 Django 模板中表示这些数据,如下所示:
( key1=value1 & key2=value2 ) || ( key3=value3 & key4=value4 & key5=value5 )
现在我将遍历数组,看看是否没有命中最后一个字典,这样我就可以在条件表示文本之间添加 ||,因为它已经是一个数组列表,例如:
{% for dict in data %}
// Do stuff with dict
{% if data|last != dict %}
||
{% endif %}
{% endfor %}
但是,由于字典没有 last 的东西,所以当我对每个字典对象执行操作时,当我必须附加一个时,我很难迭代“键,值” “&”仅当我没有到达该字典项目的末尾时。
{% for k,v in dict %}
k=v
// append "&" if this is not the last key being iterated?
{% endfor %}
任何建议/解决方法/想法将不胜感激:)
刚刚找到了!愚蠢的我,似乎 Django 已经为模板提供了一个非常简洁的内置 forloop 对象,它的工作方式就像一个魅力!
将其放在此处,以供可能遇到相同问题的任何人
{% for k,v in dict %}
k=v
{% if forloop.last != True %}
&
{% endif %}
{% endfor %}