Pythonで簡単なWEBアプリケーションを作成しようとしてます。
削除機能をつけようとしているのですが、
404エラーが返ってきてしまいます。
「The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.」
削除機能のイメージは、
HTMLの削除ボタンを押すと、titleとtextが削除されるという感じです。
pythonの方でreturnで返しているのは、showというHTMLを表示するメソッドです。
かなり粘って考えてみて、試してみたのですが原因がわかりません。
GETとPOSTの違いかと思い、どちらも試してみましたがダメでした。
404エラーの前は、post_idが見つからないと出ていましたがそこは解決しました。
まだ本格的にPythonを始めてから日も経っていないので、
根本的に間違っている箇所があるかもしれません。
わかる方がいらっしゃいましたらぜひ教えていただきたいです。
もし、載せているコードに問題がないようでしたら、他の箇所をあげなおします。
よろしくお願いします。
python
1@app.route("/delete_entry", methods=['GET']) 2def delete_entry(post_id): 3 try: 4 g.db.execute('delete from entries where id=' + post_id) 5 g.db.commit() 6 except Exception: 7 return ("エラーです") 8 return render_template(url_for('show'))
HTML
1 2 <ul class="entry"> 3 {% for entry in entries %} 4 <li> 5 <h2>{{ entry.id }}</h2> 6 <h2 id="{{ entry.id }}">{{ entry.title }}</h2></li>{{ entry.text|safe }} 7 8 <form action="{{ url_for('delete_entry',post_id = entry.id) }}" method="GET"> 9 <input type="submit" value="削除"> 10 </form> 11 12 {% else %} 13 <li><em>現在、投稿はありません。</em> 14 {% endfor %} 15 </ul>
追記:
メソッドの記載が間違っていたことをご指摘いただき
修正しましたが、改善がみられませんでした。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。