CGIプログラムの実行中に発生したエラーの内容をブラウザに表示します。
#!/usr/bin/python
# -*- coding: utf-8 -*-
'''
エラーの内容を表示する
'''
html = '''Content-Type: text/html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8" />
<title>エラーの内容を表示する</title>
</head>
<body>
<h1>エラーの内容を表示する</h1>
<form action="test16.cgi" method="post" enctype="multipart/form-data">
1 / 0 = ?
<input type="submit" name="submit" value="実行" />
</form>
</body>
</html>
'''
import cgi
import cgitb
cgitb.enable()
form = cgi.FieldStorage()
if form.has_key('submit'):
result = 1 / 0
print html
import cgitb
cgitb.enable()
cgitb モジュールの enable() は、CGIスクリプトの実行時に発生したエラーの内容をブラウザに送信します。
if form.has_key('submit'):
result = 1 / 0
実行ボタンが押されると 1 / 0 を実行し、ZeroDivisionError が発生します。
そして、ブラウザにエラーの内容をブラウザに送信します。
cgitb.enable() を使用しなければ、ブラウザには Internal Server Error とだけ表示されるでしょう。