• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
  • Skip to footer

AI活用エンジニアへの道

生成AI時代のエンジニアの生き方を考えるメディア(作成途中)

  • コラム
  • 生成AI
  • プログラミング
    • Python入門
    • Flask入門
    • Django入門
  • プロフィール
Home / プログラミング / Flask / FlaskでFormを用いてPOSTリクエストを行い、送信された値を取得する

FlaskでFormを用いてPOSTリクエストを行い、送信された値を取得する

1 request関数でPostリクエストの値を取得する
2 関連記事

request関数でPostリクエストの値を取得する

Flaskを利用する上で、Formを用いてPostリクエストで値を渡すことは必須となる。

今回は、どのようにすれば、Postリクエストで値を渡すことができるのか解説する。

まず、FormでPostリクエストの値を送るためのViewとテンプレートを定義する。

  • Viewの定義(home関数でsignup.htmlを表示するように記述する)
from flask import Flask, render_template
app = Flask(__name__)

@app.route('/home', methods=["GET", "POST"])
def home():
    return render_template('signup.html')

if __name__ == '__main__':
    app.run(debug=True)

  • Postリクエストを送るテンプレートの定義(signup.html)
<h1>サインアップページ</h1>
<form action="{{ url_for('home') }}" method="POST">
    <label for="last_name">名字: </label><input type="text" name="last_name">
    <label for="first_name">名前: </label><input type="text" name="first_name">
    <input type="submit" value="送信">
</form>

上のように、シンプルにPostリクエストで、nameがlast_nameとfirst_nameを送信する画面を作成した。

ちなみに画面上には以下のように表示される。

次に、このPostリクエストで送信された値を処理するコードをViewに記載する。

このとき、Postリクエストかどうかリクエストメソッドを取得するにはrequest.methodを用いて、リクエストの値を取得するには、request.form.getを用いる。

テンプレート上で、form action="{{ url_for('home') }}"としているので、home関数上に定義する。

  • Viewの定義(home関数でPostリクエストの際に、取得した値を処理するようにする)
from flask import Flask, render_template, request
app = Flask(__name__)

@app.route('/home', methods=["GET", "POST"])
def home():
    if(request.method == 'POST'):# リクエストがPOSTの場合
        last_name = request.form.get('last_name')# last_nameを取得
        first_name = request.form.get('first_name')# first_nameを取得
        return render_template('home.html', last_name=last_name, first_name=first_name)# last_name, first_nameをhome.htmlに送る
return render_template('signup.html')

if __name__ == '__main__':
    app.run(debug=True)

  • テンプレートの処理(home.htmlにlast_name, first_nameを表示させる)
<p>苗字: {{last_name}}</p>
<p>名前: {{first_name}}</p>

このようにすると、Postリクエストの結果、Viewの中で、送られたfirst_nameとlast_nameを取得して、テンプレートに渡すことができる。実行すると、ブラウザでは、以下のように表示できる。

以上、FlaskでのPostリクエストの方法でした。

関連記事

Pythonの型ヒント:コレクション型とOptional型の使い方
Pythonの型ヒント:コレクション型とOptional型の…
Python型ヒントについて、変数と関数の引数と戻り値に付与する基本的な書き方について
Python型ヒントについて、変数と関数の引数と戻り値に付与…
【まとめ】よく使うLinuxのショートカット11選
【まとめ】よく使うLinuxのショートカット11選
覚えておくべきLinuxコマンド50選
覚えておくべきLinuxコマンド50選
Flaskでabortを用いてHTTPException例外を強制的に発生させる
Flaskでabortを用いてHTTPException例外…
Flaskで404, 500などのエラーハンドリングを行う方法についてまとめました
Flaskで404, 500などのエラーハンドリングを行う方…

Primary Sidebar

人気記事

  • 1
    ITエンジニアとしてスキルを高めるためのUdemy講…
  • 2
    PyCharm,IntelliJのおすすめプラグイン一覧
  • no image 3
    Python未経験だが、フリーランスの案件に採用さ…
  • 4
    アメリカのシリコンバレーでプログラミングを無…

特集記事

  • 1
    Cursorの使用のポイントとコツ(コード補完、イ…
  • 2
    ITエンジニアとしてスキルを高めるためのUdemy講…

目次

1 request関数でPostリクエストの値を取得する
2 関連記事
StartCode ロゴ
AI時代のエンジニアを最速で育てる
法人向けIT研修で即戦力を育成しています。詳しくはお問い合わせください。
▶ 詳細はこちら
Flask講座
【Udemy】Flask入門講座(0からFlaskを学習: Python講座つき)
受講生6500人ほどの人気講座。<strong>View, Template, Model</str...
詳細 ▶

Footer

利用規約