初心者なので愚痴はご容赦ください。私は Flask (および拡張子 Jinja2) を使用して単純な Web アプリを作成しています。これは基本的に、映画を Web フォームに入力して、それを SQLite データベースに追加できるアプリです。データベース内のすべてのムービーを非常にうまく反復処理し、ロード時にそれらをページに出力するように Flask を取得しました。
各ムービーの横に「削除」ボタンを追加したいと考えています。ボタンを表示させるのは簡単です。しかし、押されたボタンに関連付けられた正しいムービーを削除するように、ボタンを関数 delete_movie() に結び付ける方法がわかりません。
各ムービーの横にボタンがあるため、フォーム要素は動的に名前を付ける必要があると思います。しかし、動的に名前が付けられている場合、正しい値を関数に戻すにはどうすればよいでしょうか? これは私がこれまでに得たものです:
#movies.html
<div class=page>
<h1>Movie List</h1>
<ul class=movies>
{% for movie in movies %}
<li><h1>{{ movie.title }}</h1>
<form action="{{ url_for('delete_movie') }}" method=post class=delete-movie><input type=submit value=Delete name=movie_to_delete"></form>
{% endfor %}
</ul>
</div>
#app.py
@app.route('/delete', methods=['POST'])
def delete_movie():
g.db.execute('delete from movies where movie = ?', [request.form['movie_to_delete']])
g.db.commit()
return redirect(url_for('list_movies'))
助けてくれてありがとう!