Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 405方法不允许,添加到购物车中_Python_Flask - Fatal编程技术网

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

Python 405方法不允许,添加到购物车中,python,flask,Python,Flask,我正在尝试使用flask和sqlalchemy添加到购物车的方法。我收到一个405错误,说该方法是不允许的,另外,我认为该方法不起作用,因为我不确定当单击按钮时,如何从产品页面获取productID到add to cart方法。这是我的观点 @app.route(“/index”,方法=['GET','POST'])) def addToCart(): productID=int(request.form.get(“productID”)) isInCart=Cart.query.get(pr

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

@app.route(“/index”,方法=['GET','POST']))
def addToCart():
productID=int(request.form.get(“productID”))
isInCart=Cart.query.get(productID)
userID=session['userID']
如果isInCart为“无”:
c=购物车(userID=userID,productID=productID,quantity=“1”)
db.session.add(c)
db.session.commit()
其他:
q=Cart.query.filter_by(userID=userID,productID=productID).first()
oldQ=q.数量
newQuantity=Cart.query.filter_by(userID=userID,productID=productID).update(dict(quantity=oldQ+1))
db.session.commit()

返回呈现模板(“index.html”)
将动作设置为html代码中的“/index”

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

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