我試圖讓頁面顯示人員詳細信息,并在底部有一個按鈕,以從數據庫中刪除人員并定向到主頁。問題是由于某種原因刪除方法不起作用。@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
提交
取消