前提
flask の関数に引数を与えて、htmlで関数を実行したい
実現したいこと
flaskを用いて、書籍のお気に入り登録を実装したい。htmlでapp.py内で書かれたpythonの関数を引数を渡して実行したい。
発生している問題・エラーメッセージ
#ウェブページに表示されるエラー Not Found The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. #ターミナルに表示されているログ "POST /add_favorite(犬と屑) HTTP/1.1" 404 -
該当のソースコード
python,html
1# 以下htmlのコード 2{% for row in database %} 3 <td>{{ row["title"] }}</td> 4 <td>{{ row["author"] }}</td> 5 <td>{{ row["summary"] }}</td> 6 <img src= "{{row.img_url}}"> 7 <form action="/add_favorite({{ row["title"] }})" method="post"> 8 <button>お気に入り</button> 9 </form> 10 <form action="/delete_favorite({{ row["title"] }})" method="post"> 11 <button>お気に入り解除</button> 12 </form> 13 {% endfor %} 14 15 16#以下app.pyのコード 17 18@app.route("/add_favorite/<title>", methods=["POST"]) 19def add_favorite(title): 20 # favorite tableに追加 21 db.execute("INSERT INTO favorite(user_id, title, like) VALUES (?, ?, ?)", session["user_id"], title, 1) 22 23@app.route("/delete_favorite/<title>", methods=["POST"]) 24def delete_favorite(title): 25 db.execute("DELETE favorite WHERE user_id = ? AND title = ?", session["user_id"], title)
試したこと
引数の形を{{row.title}},"{{row.titlw}}"などに変えてみたがうまくいかない
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー