405方法不允许,添加到购物车中

2024-10-02 02:27:57 发布

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

我正在尝试使用flask和sqlalchemy添加到购物车的方法。我收到一个405错误,说该方法是不允许的,另外,我认为该方法不起作用,因为我不确定当单击按钮时,如何从产品页面获取productID到add to cart方法。这是我的观点

@app.route("/index", methods=['GET','POST']) def addToCart(): productID = int(request.form.get("productID")) isInCart = Cart.query.get(productID) userID = session['userID'] if isInCart is None: c = Cart(userID=userID, productID=productID, quantity="1") db.session.add(c) db.session.commit() else: q = Cart.query.filter_by(userID=userID, productID=productID).first() oldQ = q.Quantity newQuantity = Cart.query.filter_by(userID=userID, productID=productID).update(dict(quantity= oldQ + 1)) db.session.commit() return render_template("index.html" )

这是我正在使用的html

<form class="form" action="" method="post"> <input type="submit" value="Add to Cart"/> </form>

请帮助它不工作,我使用的是购物车数据库和产品数据库。如果有任何关于如何让代码工作的建议,请帮助


Tags: to方法formadddbgetindex产品
2条回答

您的表单缺少操作地址。根据soham saoji的回复,在您的操作中添加“/index”应该可以解决这个问题,但最好使用“url\u for”,这样它就可以在开发环境之外工作

&13; 第13部分,;
<form class="form" action="{{ url_for('addToCart') }}" method="post">
<input type="submit" value="Add to Cart"/>
</form>
和#13;
和#13;

将动作设置为html代码中的“/index”

<form class="form" action="/index" method="post">
   <input type="submit" value="Add to Cart"/>
</form>

相关问题 更多 >

    热门问题