我试图让页面显示人员详细信息,并在底部有一个按钮,以从数据库中删除人员并定向到主页。问题是由于某种原因删除方法不起作用。@app.route('/venues/<int:venue_id>')def show_venue(venue_id): data = Venue.query.get(venue_id) return render_template('pages/show_venue.html', venue=data)@app.route('/venues/<int:venue_id>', methods=['DELETE'])def delete_venue(venue_id): try: Venue.query.filter_by(id=venue_id).delete() db.session.commit() except Exception as e: print(e) error = True db.session.rollback() finally: db.session.close() if not error: flash('Venue was successfully deleted!') return render_template('pages/home.html') else: flash('An error occurred. Venue ' + request.form['name'] + ' could not be deleted.') return NoneHTML 内:... <form class="form" method="DELETE" action="/venues/{{venue.id}}"> <input type="submit" value="Delete Venue"> </form>...控制台没有显示任何错误,但它实际上什么也没做..只是返回到同一页面..感谢您的帮助
1 回答
米琪卡哇伊
TA贡献1998条经验 获得超6个赞
我相信对于该 delete函数,您需要将要删除的内容作为函数的参数传递。
item_to_be_deleted = Venue.query.filter_by(id=venue_id)
db.session.delete(item_to_be_deleted)
例如,如果您通过 Postman 发送查询,而不是使用 html 表单,您可以删除该条目吗?
Web 浏览器无法发送 PUT 和 DELETE 方法。他们只发送 GET 和 POST。所以可能跟这个有关系!!
如果您更改浏览器传递的方法,它可能会成功!
添加回答
举报
0/150
提交
取消