これもChatGPTに聞いてみました。
HTMLのフォームでユーザーが入力したデータをPythonに渡すには、以下の方法があります。
- 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オブジェクトからフォームデータを取得し、ユーザー名を取得しています。最後に、ユーザー名を含むメッセージを返しています。
- 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アプリケーションを構築することができます。