
...
<form method='POST' action='/search4'>
<table>
...
...
@app.route('/search4', methods=['POST'])
def do_search() -> str:
...
に答えます
ポストされたデータを処理する
@app.route
デコレータは第
1
引数として
URL
を取るだけでなく、その他のオプションの
引数も取ります。
その
1
つが引数
methods
です。その
URL
がサポートする
HTTP
メソッドを指定します。デ
フォルトでは、
Flask
はすべての
URL
に対して
GET
をサポートします。しかし、引数
methods
でサポートする
HTTP
メソッドのリストを指定すると、このデフォルトの振る舞いをオーバー
ライドします。現在の
@app.route
行は次のようになっています。
@app.route('/search4')
/search4
で
POST
を サ ポ ー ト す る に は、 デ コ レ ー タ に 引 数
methods
を 追 加 し、
/
search4
でサポートしたい
HTTP
メソッドのリストを指定します。これは、
/search4
が
POST
メソッドだけをサポートすることを示しています(つまり、
GET
リクエストはもうサ
ポートしていません)。
@app.route('/search4', methods=['POST'])
HTML
フォームに指定している
POST
と
@app.route
行の
POST
が一致しているので、
Web