我已经成功地使用flask会话添加到篮子中,但我在计算所有产品的总价时遇到了问题。我尝试设置一个变量,该变量使用列表中的值计算价格,但不起作用,而是返回第一项。有人能给我指出正确的方向吗
@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)
因此,您得到了一个如下列表:
我们只需要每个列表的第二个元素的列表,这样我们就可以执行
sum([2.12, 3.13])
并得到结果。要做到这一点,一个简洁的方法是使用列表:在我看来,这是一种更整洁的方式:
其次,Python建议您的变量都是小写的
svars
,而不是像MenuItem
那样使用_
作为间隔,比如total_price
,而不是totalPrice
,并保留CamelCasing
作为类名。这将使您的代码更易于其他人查看和使用相关问题 更多 >
编程相关推荐