为了账号安全,请及时绑定邮箱和手机立即绑定

Flask SQLAlchemy 中的表单删除方法不起作用

Flask SQLAlchemy 中的表单删除方法不起作用

慕斯709654 2023-12-09 16:29:47
我试图让页面显示人员详细信息,并在底部有一个按钮,以从数据库中删除人员并定向到主页。问题是由于某种原因删除方法不起作用。@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。所以可能跟这个有关系!!


如果您更改浏览器传递的方法,它可能会成功!


查看完整回答
反对 回复 2023-12-09
  • 1 回答
  • 0 关注
  • 45 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信