Flask购物车,我怎么能计算出我的所有商品的总价

2024-09-28 21:54:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经能够成功地添加到篮子使用烧瓶会议,但我有困难,计算出所有产品的总价格。我试图设置一个varible,它使用列表中的值来计算价格,但这不起作用,而是返回第一项。有人能给我指出正确的方向吗。我也有一种感觉,有一种更好的方法,那就是任何人都知道,然后他们可以让我知道,因为这是我的一个烧瓶应用程序,会帮助很多,谢谢。在

@app.route("/Menu")
def menu():
    MenuItems = Menu.query.all()
    return render_template("menu.html", MenuItems=MenuItems)

@app.route("/AddToCart", methods=["POST", "GET"])
def addToCart():
    itemId = int(request.form.get("productId"))
    MenuItem = Menu.query.get(itemId)

    if MenuItem is None:
        return render_template("error.html", errorMessage="There has been an issue adding this item to your basket")

    sVars = session['cart']

    sVars.append([str(MenuItem.ItemName), float(MenuItem.ItemPrice)])
    session['cart'] = sVars

    allPrices = sum(sVars[1])

    return render_template("cart.html", cartSession=session['cart'], allPrices=allPrices)

Tags: appreturn烧瓶sessionhtmltemplate价格render
1条回答
网友
1楼 · 发布于 2024-09-28 21:54:40

所以,你有一个清单,看起来像:

sVars = [
    ['apple', 2.12],
    ['orange', 3.13],
]

我们只需要每个列表的第二个元素的列表,这样我们就可以sum([2.12, 3.13])并得到结果。一个很好的方法就是理解列表:

^{pr2}$

这是一种(在我看来)更简洁的方式:

total_price = 0
for entry in sVars:
    total_price += entry[1]
print(total_price)

其次,Python通常建议您的变量都是小写的svars,而{}使用_表示间距,比如total_price,而不是{},并将{}保留为类名,就像使用MenuItem。它会让你的代码更容易让其他人查看和使用。在

相关问题 更多 >