Это код Python, который я написал для отображения таблицы и удаления строки из таблицы. Дисплейный стол работает нормально. Но я не могу удалить строку из таблицы.
Как правильно отправить идентификатор на конечную точку?
@app.route('/showTable')
def showTable():
cursor2.execute("select * from web2")
data = cursor2.fetchall()
#data.set_index(['id'], inplace=True)
#data.index.name = None
return render_template('showTable.html',data=data)
@app.route('/showTable/<id>', methods=['GET','POST'])
def delete_row():
if request.method=="POST":
id=request.form.get("id")
#cursor3.execute('delete from web2 where id = ?', [request.form['row_to_delete']])
cursor3.execute('delete from web2 where id= ?', [id])
conn.commit()
#data = cursor3.fetchall()
#return '<h1>New record has been deleted!</h1>'
flash('Record Deleted', 'success')
#return redirect(url_for('showTable'))
return render_template('showTable.html',id=id)
if __name__ == "__main__":
#app.debug = True
app.run(debug=True,port=8080)
#HTML code for the same:-
<link rel="stylesheet" href="{{url_for('.static', filename='signin.css')}}">
<a href="{{ url_for('.signup') }}"> New Duplicate Account </a>
<table border="1" cellpadding="2" cellspacing="0">
{% for row in data %}
<tr>
{% for d in row %}
<td>{{ d }}</td>
{% endfor %}
<form action="{{ url_for('delete_row') }}" method="post" action="/showTable">
<input type=hidden value="{{ id }}" name="row_to_delete"></input>
<td><button class="btn btn-lg btn-primary btn-block" type="submit">Delete</button></td>
</form>
</tr>
{% endfor %}
</table>
<p></p>
werkzeug.routing.BuildError: Could not build url for endpoint 'delete_row'. Did you forget to specify values ['id']?