PythonのCGIプログラミングで初めてのHello Worldプログラムを作成する方法
最初のCGIプログラム
ここでは、hello.py という名前のCGIスクリプトを /var/www/cgi-bin ディレクトリに配置して実行する方法を解説します。CGIプログラムを実行する前に、UNIXのコマンド chmod 755 hello.py を使ってファイルに実行権限を付与しておく必要があります。この設定を忘れると、サーバーがスクリプトを実行できずエラーになりますので注意しましょう。
コード例
#!/usr/bin/python print "Content-type:text/html\r\n\r\n" print '<html>' print '<head>' print '<title>Hello World - 初めてのCGIプログラム</title>' print '</head>' print '<body>' print '<h2>Hello World! これが私の初めてのCGIプログラムです</h2>' print '</body>' print '</html>'
このスクリプトでは、まず「Content-type:text/html」というHTTPヘッダーを出力しています。ヘッダーの後には空行(\r\n\r\n)が必要で、これによりヘッダーとHTML本文が区切られます。その後、print文を使ってHTMLタグを1行ずつ出力し、ブラウザにWebページとして表示させています。
なお、上記のコードはPython 2系の書き方です。Python 3で実行する場合は、printを関数形式(例:print("<html>"))に変更してください。
実行結果
ブラウザから hello.py にアクセスすると、次のような出力が表示されます。
Hello World! これが私の初めてのCGIプログラムです
-
Pythonでテキストエリア(TEXTAREA)のデータをCGIプログラムに渡す方法
複数行のテキストデータをCGIプログラムに送信したい場合には、HTMLのTEXTAREA要素を使用します。TEXTAREAは、ユーザーが自由に複数行の文章を入力できる入力欄を提供し、その内容は通常のテキストフィールドと同じようにCGIプログラムへ渡されます。 TEXTAREAを使ったフォームのHTMLコード例 以下は、TEXTAREAボックスを含むフォームのHTMLコード例です。 <form action = "/cgi-bin/textarea.py" method = "post" target = "_blank">
-
Pythonで画面に出力するには?print文の基本と使い方を解説
Pythonで画面(標準出力)に文字や値を表示する最も基本的な方法は、print文を使うことです。>>> print Hello, world Hello, worldカンマ区切りで複数の項目を出力する同じ行に複数の項目をスペースで区切って表示したい場合は、項目の間をカンマで区切ります。>>> print Hello,, World Hello, Worldこの例では、どちらの文字列にもスペースは含まれていませんが、2つのオブジェクトの間にあるカンマによって、print文が自動的にスペースを挿入してくれます。さまざまなデータ型の出力print文は文字列だけで