Λάδι Βιώσας

http://profile.hatena.ne.jp/kenkitii/

XREAでWeb.pyを使ってみた

レンタルサーバーXREAでは、CGI環境でPythonが動きます。そこで先日作ったコレ(←perlで書いた)を試しにPythonのweb frameworkであるweb.py使って作り直してみました。で、作リ直した奴はコレ

XREA&web.pyで遊ぶ手順

  • web.py

http://webpy.org/
から、web.pyをダウンロード、で、、、id:y_yanbeさんの

2006-03-11 CGI環境でweb.pyを動かす
http://d.hatena.ne.jp/y_yanbe/20060311

を参考に、web.pyの中のrunfcgi()とrunwsgi()を書き換えます。

次にflupとCheetahをダウンロード。

  • flup

http://www.saddi.com/software/flup/dist/

  • Cheetah

http://dl.sourceforge.net/cheetahtemplate/Cheetah-1.0.tar.gz
CheetahのCompiler.pyの1070行目のwarning部分、

        if not NameMapper.C_VERSION:
# 以下の6行コメントアウト
#             warnings.warn(
#                 "\nYou don't have the C version of NameMapper installed! "
#                 "I'm disabling Cheetah's useStackFrames option as it is "
#                  "painfully slow with the Python version of NameMapper. "
#                 "You should get a copy of Cheetah with the compiled C version of NameMapper."
#                 )
            self.setSetting('useStackFrames', False)

コメントアウトします。

はこんな感じにしました。

AddHandler cgi-script .py
RewriteEngine on
RewriteBase /hoge/
RewriteRule .* index.py

以上のファイルをweb.pyと一緒にアップロード。ディレクトリ構成は↓こんな感じ。

/public_html/
      + - hoge/
            +- Cheetah/
            +- flup/
            +- templates/    Cheetah用テンプレートフォルダ
            +- web.py
            +- .htaccess
            +- index.py      自分で書くコード

y_yanbeさんの記事がなかったら100パー投げてました、感謝です。で、サンプルとして、index.pyのソース貼り付けようと思ったけど、無駄に長いし色々いじってたらめっちゃ汚くなったのでやめときます。。。