60歳からITエンジニアを目指す無謀なブログ

60歳で定年し、職種を変更してIT技術者を目指すブログです。

htmlからpythonへのフォームの転送方法

これもChatGPTに聞いてみました。

 

HTMLのフォームでユーザーが入力したデータをPythonに渡すには、以下の方法があります。

  1. Flaskを使用してHTMLフォームからデータを受け取る

Flaskは、PythonでWebアプリケーションを構築するためのフレームワークです。Flaskを使用して、HTMLフォームからデータを受け取ることができます。以下は、FlaskでHTMLフォームからデータを受け取るためのサンプルコードです。

HTMLフォーム

<form action="/submit" method="post">
  <input type="text" name="username">
  <input type="submit" value="Submit">
</form>

 

Flaskアプリケーション

from flask import Flask, request

app = Flask(__name__)

@app.route('/submit', methods=['POST'])
def submit():
    username = request.form['username']
    return f'Hello, {username}!'

上記のコードでは、/submit URLパスにPOSTリクエストが送信されたときに、submit()関数が呼び出されます。submit()関数では、requestオブジェクトからフォームデータを取得し、ユーザー名を取得しています。最後に、ユーザー名を含むメッセージを返しています。

 

  1. CGIを使用してHTMLフォームからデータを受け取る

CGI(Common Gateway Interface)は、Webサーバーと外部のプログラムを連携するための仕組みです。CGIを使用して、HTMLフォームからデータを受け取ることができます。以下は、CGIを使用してHTMLフォームからデータを受け取るためのサンプルコードです。

HTMLフォーム

<form action="/cgi-bin/submit.py" method="post">
  <input type="text" name="username">
  <input type="submit" value="Submit">
</form>

 

submit.py

#!/usr/bin/env python

import cgi

form = cgi.FieldStorage()

username = form.getvalue('username')

print('Content-type: text/html\n')
print(f'Hello, {username}!')

 

上記のコードでは、submit.pyスクリプトがWebサーバーによってCGIとして実行されます。submit.pyスクリプトでは、cgiモジュールを使用してフォームデータを取得し、ユーザー名を取得しています。最後に、ユーザー名を含むメッセージを出力しています。

以上の方法で、HTMLフォームからPythonにデータを渡すことができます。Flaskを使用すると、より高度なWebアプリケーションを構築することができます。