有没有办法在 django 模板中迭代列表中的列表?
Posted
技术标签:
【中文标题】有没有办法在 django 模板中迭代列表中的列表?【英文标题】:Is there any way to iterate over list inside list in django template? 【发布时间】:2020-10-18 11:14:51 【问题描述】:我有一个列表 a = [[1000,3000], [4000-5000]],我想表明它有 1000-3000 4000-5000 在模板中。但我只得到第一个对象。 我尝试的是,
products.html
% for i in price_group %
<label>
<input class="uk-radio" type="radio" onchange="$('#form').submit();" name="price" value=" i.0.0 ; i.0.1 ;price;first" checked>
i.0.0 - i.0.1
</label>
price_group.pop.i
% endfor %
我使用弹出功能从列表中删除当前并获取下一个,但它没有按预期工作。 它只显示列表中的第一个元素。如果我错了,请纠正我。我想要的是它有一个价格范围。 1000-3000 4000-5000 ..同样明智。请帮帮我。
【问题讨论】:
【参考方案1】:您只访问列表的第一个元素,您需要更新代码以访问所有元素,如下所示:
% for i,j in price_group %
<label> <input class="uk-radio" type="radio" onchange="$('#form').submit();" name="price" value=" i ; j ;price;first" checked>
i - j
</label>
% endfor %
【讨论】:
您好,感谢您的回答,但如果我按照您所说的方式表达,我会得到类似 [121.0, 1233.0] - [2345.0, 14000.0] 的内容。但我想要的如下 121.0 - 1233, 2345 - 14000 能发一下price_group的数据结构吗? price_group 仅为列表。看起来像这样 [[1000,3000][3000,4000][5000,6000]..] 同样。我想在 html 中显示它的价格范围.. 1000-3000, 3000-4000 一样明智。 您必须解压每个子列表中的值才能迭代列表列表。我已经更新了代码,请尝试一次。 您好,感谢您的更新。现在它以 [121.0, 1233.0] - [2345.0, 14000.0] 的形式出现。我想要的是 121.0 - 1233.0 同样明智。需要访问内部列表值。实际上是价格范围。需要另一个循环吗?以上是关于有没有办法在 django 模板中迭代列表中的列表?的主要内容,如果未能解决你的问题,请参考以下文章