Top / Programming / Python / Python CGIプログラミング入門 / 選択されたメニューの項目を取得する(単一選択の場合)

選択されたメニューの項目を取得する(単一選択の場合)

HTMLフォームの単一選択のメニューで選択された値を取得し表示します。

test11.cgi

#!/usr/bin/python
# -*- coding: utf-8 -*-
'''
選択されたメニューの項目を取得する(単一選択の場合)
'''
html = '''Content-Type: text/html

<html>
<head>
  <title>選択されたメニューの項目を取得する(単一選択の場合)</title>
</head>
<body>
<h1>選択されたメニューの項目を調べる</h1>
<p>入力された項目は、「%s」です。</p>
<form action="test11.cgi" method="post">
  <select name="lang">
    <option value="python">python</option>
    <option value="perl">perl</option>
    <option value="ruby">ruby</option>
  </select>
  <input type="submit" />
</form>
'''

import cgi
f = cgi.FieldStorage()
print html % f.getfirst('lang', '')

解説

import cgi
f = cgi.FieldStorage()

HTMLフォームから送信された値は、cgiモジュールのFieldStorageクラスを使用して取得します。

選択されたメニューの項目を取得するには、FieldStorageクラスの getfirst() を使用します。

メニューが選択されると、メニューの name 属性に対して、選択された項目の value 属性の値が設定されます。

print html % f.getfirst('lang', '')

lang の値を取得し(値がないときは'')、文字列フォーマットの %s と置き換えて出力します。

関連URL

更新履歴