cgi.FieldStorage()で取得できるフォームは単に文字列じゃない

htmlの入力フォームから送られてきた(POST/GET)内容を処理してくれる

cgi.FieldStorage()

これって、単にinputタグの各値を返してくれるんじゃなくて、そのinputタグの情報を諸々持ったインスタンスになる。

form = cgi.FieldStorage()
keys = form.keys()
for key in keys:
param[key] = form[key]

ってやったときの、param[key]に入るのは、form[key]に入力された文字列じゃなくて、そのinputタグの情報そのもの。
イメージ的にはBeautifulSoupと同じ感じ。

なので、入力された値を取得するなら

param[key] = form[key].value

って書かないといけない。

タイトルとURLをコピーしました