我编写了这段代码并收到了此 TypeError 并且不理解该错误。我做错了什么。
@app.route("/deletedog", methods=["GET", "POST"])
def delete_dog(Dog_id):
p=dog.query.filter_by(Dog_id=Dog_id).first()
if request.method == 'GET':
db.session.delete(p)
db.session.commit()
return redirect(url_for('index'))
return render_template("deletedog.html")
`
我有点摸不着头脑,我认为它不需要位置
最佳答案
如果您想同时支持 GET
和 POST
,则无法从函数参数中获取 Dog_id
。您需要使用 request.form
或 request.args.get()
。
@app.route("/deletedog", methods=["GET", "POST"])
def delete_dog():
if request.method == 'POST':
Dog_id = request.form['dog_id']
else:
Dog_id = request.args.get('dog_id')
p=dog.query.filter_by(Dog_id=Dog_id).first()
if request.method == 'GET':
db.session.delete(p)
db.session.commit()
return redirect(url_for('index'))
return render_template("deletedog.html")
关于python - 类型错误 : delete_dog() missing 1 required positional argument: 'Dog_id' How do I get around this?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75921864/