入力された2つの数を加算し、結果を出力します。
#!/usr/bin/python
# -*- coding: utf-8 -*-
'''
足し算を行う
'''
html = '''Content-Type: text/html
<html>
<head>
<title>足し算を行うCGIスクリプト</title>
</head>
<body>
<h1>足し算を行うCGIスクリプト</h1>
<form action="test13.cgi" method="get">
<input type="text" name="num1" size="3" value="%s" />
+
<input type="text" name="num2" size="3" value="%s" />
= %d
<input type="submit" />
</form>
</body>
</html>
'''
import cgi
f = cgi.FieldStorage()
num1 = f.getfirst("num1", "0")
num2 = f.getfirst("num2", "0")
try:
result = int(num1) + int(num2)
except:
result = 0
print html % (num1, num2, result)
import cgi
f = cgi.FieldStorage()
HTMLフォームから送信された値は、cgiモジュールのFieldStorageクラスを使用して取得します。
テキスト入力フィールドに入力された文字を取得するには、FieldStorageクラスの getfirst() を使用します。
num1 = f.getfirst("num1", "0")
num2 = f.getfirst("num2", "0")
テキスト入力フィールド num1 と num2 に入力された値を取得します。
try:
result = int(num1) + int(num2)
except:
result = 0
入力された値は文字列として取得されます。 int() で数値に変換してから加算します。
入力された値が数字以外の時は例外が発生します。
そのときは、result の値を0にします。
print html % (num1, num2, result)
文字列フォーマットを各変数の値に変換して、出力します。