我試圖讓頁(yè)面顯示人員詳細(xì)信息,并在底部有一個(gè)按鈕,以從數(shù)據(jù)庫(kù)中刪除人員并定向到主頁(yè)。問(wèn)題是由于某種原因刪除方法不起作用。@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 內(nèi):... <form class="form" method="DELETE" action="/venues/{{venue.id}}"> <input type="submit" value="Delete Venue"> </form>...控制臺(tái)沒(méi)有顯示任何錯(cuò)誤,但它實(shí)際上什么也沒(méi)做..只是返回到同一頁(yè)面..感謝您的幫助
1 回答
米琪卡哇伊
TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊
我相信對(duì)于該 delete函數(shù),您需要將要?jiǎng)h除的內(nèi)容作為函數(shù)的參數(shù)傳遞。
item_to_be_deleted =? Venue.query.filter_by(id=venue_id)
db.session.delete(item_to_be_deleted)
例如,如果您通過(guò) Postman 發(fā)送查詢,而不是使用 html 表單,您可以刪除該條目嗎?
Web 瀏覽器無(wú)法發(fā)送 PUT 和 DELETE 方法。他們只發(fā)送 GET 和 POST。所以可能跟這個(gè)有關(guān)系??!
如果您更改瀏覽器傳遞的方法,它可能會(huì)成功!
添加回答
舉報(bào)
0/150
提交
取消
