なぜ Apache(mod_python) ?

で学習する環境には、simpleHTTPServer とか cgiモジュールとかあるのですが、環境をApacheにこだわっちゃもんだから、その都度かべにぶつかっています。>< 目標は、Djangoと思ってるんですけど・・・。Djangoに移行したとき、どう関連があるのかも不明です。ちょっと立ち読みしたところによるとDjangoは、開発環境用としてサーバーがあるらしく、通常はそちらを使用するとのこと・・・それもやり方としてはありなんでしょうけど・・・サーバーと同じ環境をどう作るかということに執着している私としてはなんかすっきりしないんですよねぇ・・・。そこまで行ったときに再度考えたいと思います。

なにを参考にするか

あまりやさしいものは見つからないというのが現時点での感想です。しょうがないのでマニュアルかじり読みです。

単独アプリとGET変数

たぶん、フォームのHTMLとスクリプトの.pyファイルの組み合わせが基本なのだと予測しています。でも単独でも結構なことができそうです。次の例は、GET変数を読み取って、画面に表示する方法です。次のコードを get_hensu.py というファイルに記述して保存します。
# -*- coding:utf-8 -*-
def index(req,g1='N/A',g2='N/A',g3='N/A'):
   cnt=u"""
       <html><body>\n
           g1= %s <br>\n
           g2= %s <br>\n
           g3= %s <br>\n
       </body></html>"""
   return cnt % (g1,g2,g3)
2行めのdef index の index はフォーム等のポストバックではなく、単独表示の時に、実行される場合の関数と思われます。indexの引数は、それぞれ、GET変数に対応しています。デフォルト値を設定しておくとエラーになりません。次に、
http://(localhost)/get_hensu.py?g1=ok1&g2=ok2&g3=ok3
といった具合でアクセスします。すると画面に
g1= ok
g2= ok2
g3= ok3
こんな具合で表示されればOK。ちなみに、コードの最後を
return cnt % (g1.decode('utf-8'),g2.decode('utf-8'),g3.decode('utf-8'))
と描けば、日本語の引数を渡せます。
http://(localhost)/get_hensu.py?g1=いいね&g2=おっいったね&g3=いいじゃない
結果はこんなかんじ
g1= いいね
g2= おっいったね
g3= いいじゃない
なお、上記の例はGET変数をサニタライズしていないので、このまま公開してはならないスクリプトです。