Top / Programming / Python / Python CGIプログラミング入門 / エラーの内容を表示する

エラーの内容を表示する

CGIプログラムの実行中に発生したエラーの内容をブラウザに表示します。

test16.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 とだけ表示されるでしょう。

関連URL

更新履歴