Flask / Jinja2继续声明

时间:2020-02-09 16:37:27

标签: python flask jinja2

我正在开发一个简单的应用程序,特别是“ view_cart”功能,用户可以在其中查看自己添加到结帐购物车中的哪些商品。我有简单的购物车,但是无法按我想要的方式显示它。具体来说,对于同一个商品的倍数,我希望在查看购物车时该商品旁边有一个带有价格的数量,而不是我现在每个商品单独显示的数量。例如“牛肉1,牛肉1,牛肉1,火腿1,火腿1。我的目标是”牛肉3,火腿2”。

我想对Jinja使用for循环,但是显然不支持break / continue(如果数量大于1)。非常感谢您提供有关如何在没有该功能的情况下进行此工作的建议。当前代码如下:

# RV32, RV64:
ror   rd, rs1, rs2
rol   rd, rs1, rs2
rori  rd, rs1, imm

# RV64 only:
rorw  rd, rs1, rs2
rolw  rd, rs1, rs2
roriw rd, rs1, imm

{%endfor%}

1 个答案:

答案 0 :(得分:0)

在您的查看代码中,您应该对项目进行分组:

import itertools as it, operator as op

l = [[0,'beef','a.png',9.99],[1,'ham','b.png',7.99],[2,'beef','a.png',9.99],
     [3,'ham','b.png',7.99],[4,'beef','a.png',9.99]] 
l.sort(key=op.itemgetter(1))
items = []
for k,g in it.groupby(l,op.itemgetter(1,2,3)): 
    items.append(list(k) + [sum(1 for i in g)]) 

然后items是:

[['beef', 'a.png', 9.99, 3], ['ham', 'b.png', 7.99, 2]]

然后您需要调整模板中的索引值。

相关问题