我需要在我的Django模板中有一个嵌套循环,其中外部循环遍历一个对象列表,内部循环遍历这些对象id的列表,我想只为id的内容做一些事情内部列表,但它永远不会执行。我认为它与if语句的条件有关,因为如果我用一个真实的语句替换它,它可以工作,但它现在不起作用
(我已经检查过id的重叠)
{% for outer in outer_obj_list %}
{% for inner_id in inner_id_list %}
{% if outer.id == inner_id %}
// do something
console.log({{inner_id}});
console.log({{outer.id}});
{% endif %}
{% endfor %}
{% endfor %}
答案 0 :(得分:1)
语法似乎正确。我会详细地输出所有内容。
也许它应该是这样的:
{% for main_obj in main_obj_list %}
main_obj: {{ main_obj }}
{% for obj_id in obj_id_list %}
obj_id: {{ obj_id}}
main_obj: {{ main_obj.id}}
{% if main_obj.id == obj_id %}
// do something
match: {{main_obj.id}} == {{obj_id}} ;
{% endif %}
{% endfor %}
{% endfor %}
答案 1 :(得分:0)
兄弟我也面临这个问题,所以我聪明的头脑为这个问题找到了一些聪明的解决方案,我们可以用 JavaScript 轻松地做到这一点,所以我们需要在 JavaScript 中运行它,然后。
{% for outer in outer_obj_list %}
{% for inner_id in inner_id_list %}
if(outer.id == inner_id.id ){
console.log({{inner_id.id}});
console.log({{outer.id}});
//And also if we reserve place in DOM then we can
//change the inner Html of them easily like.
//demo = document.getElementById("demo");
//demo.innerHTML = inner_Id.id or outer.id
}
{% endfor %}
{% endfor %}