【Python】フォームからデータを送信する

cgiモジュールを用いて、フォームから送信された内容を取得する。

import cgi
import cgitb
import sys
import io

cgitb.enable()
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')

form = cgi.FieldStorage()
name = form.getvalue('hn','')
message = form.getvalue('msg','')

header = 'Content-Type: text/html; charset=utf-8'
body = f'''
<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="utf-8">
    <title>【Python】フォームからデータを送信する</title>
  </head>
  <body style="background-color:lightyellow">
    <h1>いのはの掲示板へようこそ!</h1>
    <form action="index.py" method="post">
      <p>名前:<input type="text" name="hn"></p>
      <p>メッセージ:<input type="text" name="msg"></p>
      <input type="submit" name="submit">
   </form>
    <hr/>
    <p>{name}</p>
    <p>{message}</p>
  </body>
</html>
'''

print(header)
print()
print(body)

サンプルページ

参考

cgitb --- CGI スクリプトのトレースバック管理機構
ソースコード: Lib/cgitb.py cgitb モジュールでは、Python スクリプトのための特殊な例外処理を提供します。(実はこの説明は少し的外れです。このモジュールはもともと徹底的なトレースバック情報を CGI スクリプトで生成...
cgi --- CGI (ゲートウェイインターフェース規格) のサポート
ソースコード: Lib/cgi.py ゲートウェイインターフェース規格 (CGI) に準拠したスクリプトをサポートするためのモジュールです。 このモジュールでは、Python で CGI スクリプトを書く際に使える様々なユーティリティを定義...
タイトルとURLをコピーしました