2008-03-11 21:52:31
ubuntuにmod_pythonをインストールしてみた。ubuntuの場合、synapticなどで、libapache2-mod-pythonをインストールするだけである。その後、スクリプトを動かしたい場所(たとえば/var/www)の<Directory>の項に以下の3行を追加。
AddHandler mod_python .py PythonHandler mod_python.publisher PythonDebug Onそして、Apacheの再起動。この設定は、.htaccessに書いてもいいらしい。
試しに、時刻を表示させてみる。
#!/usr/bin/python
# -*- coding: utf-8 -*-
import time
def index(req):
html = '''
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>現在の日時を表示する</title>
</head>
<body>
<h1>現在の日時を表示する</h1>
<p>現在の日時は、「%s」です。</p>
</body>
</html>
'''
now = time.strftime('%Y年%m月%d日 %H時%M分%S秒')
return html % now
問題なく動いたようなので、次に文字列を送ってそれを受け取り、表示させてみた。
#!/usr/bin/python
# -*- coding: utf-8 -*-
def index(req,words):
html = '''
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>テキスト入力フィールドに入力された文字を取得する</title>
</head>
<body>
<h1>テキスト入力フィールドに入力された文字を取得する</h1>
<p>入力された文字は、「%s」です。</p>
<form action="test09.py" method="get">
<input type="text" name="words" />
<input type="submit" />
</form>
</body>
</html>
'''
return html %(words)
実はこれに何時間もかかっている。上のようにGETだと受け取れるのだが、POSTだと受け取れない。どうしてなのだろう。どうしたらいいのか判らない。ネットで調べても、mod_pythonの日本語の例がほとんど見つからない。皆、使っていないのだろうか。こういうhtmlページの書き出しはPHPの方が楽なような気がする。慣れの問題かも知れないけど。