如何在Django / python中每行循环三列?
Posted
技术标签:
【中文标题】如何在Django / python中每行循环三列?【英文标题】:How to for-loop three columns per row in Django/python? 【发布时间】:2018-04-28 09:15:33 【问题描述】:我想在我的 for 期间显示数据,每行三列。我希望我的结果如下所示:
<table>
<tr><td>VALUE1</td><td>VALUE2</td><td>VALUE3</td></tr>
<tr><td>VALUE4</td><<td>VALUE5</td><td>VALUE6</td></tr>
</table>
有人知道怎么做吗?
语法错误 /
处的 TemplateSyntaxError“for”语句应使用“for x in y”格式:for i in range(0, len(all_products_list), 3)
【问题讨论】:
【参考方案1】:有一个divisibleby标签。
所以你可以做一些(丑陋的)事情,比如:
<table><tr>
% for field in form %
<td> field </td>
% if forloop.last %
</tr>
% else %
% if forloop.counter|divisibleby:"3" %
</tr><tr>
% endif %
% endif %
% endfor %
</table>
或者,您可以为表单类提供一个 table_print
方法,该方法返回一个 html 字符串(包装在 mark_safe
中)。
【讨论】:
感谢回答,不过是模板标签,当然是从mysql中检索到的数据列表【参考方案2】:<table>
% for i in range(0, len(stuff), 3) %
<tr>
% for j in range(3) %
<td> stuff[i+j] </td>
% endfor %
</tr>
% endfor %
</table>
抱歉,问题被误解了。
【讨论】:
感谢您这么快的回答,但语法错误?此方法在模板中不起作用?以上是关于如何在Django / python中每行循环三列?的主要内容,如果未能解决你的问题,请参考以下文章
我可以获取数据框三列的斜率并使用 python 中的值创建一个新列吗?