Python Pylons を試す
今までWebアプリケーションといえば、PHPかJavaで書いてました。
ぼちぼちPythonでWebアプリケーションを作ってみようとおもいます。
色々調べてみた結果、Pylonsが評判よさそう。
早速、インストール
easy_install Pylons==0.9.6.2
※eaxy_installがないときは、
http://peak.telecommunity.com/dist/ez_setup.py
から、ez_setup.pyをダウンロードし、
python ez_setup.py Pylons==0.9.6.2
デフォルトでテンプレートエンジンはmakoになります。
インストール時のオプションでcheetahなどに
変更できるようですが、私はmakoでよいのでデフォルトのまま。
プロジェクトの作成は、
paster create -t pylons helloworld
※Windowsの場合だと、Pythonをインストールしているフォルダの
Scriptsにパスを通しておく必要あり。
これでhelloworldというフォルダが作成されます。
とりあえず動作確認。
cd helloworld
paster serve --reload development.ini
http://localhost:5000/
動いている風な画面が表示されます。
helloworld/publicのなかに適当な記載をしたtest.htmlをぶちこみ、
参照できることを確認。
http://localhost:5000/test.html
次にコントローラーと呼ばれるものを作ってみます。
paster controller hello
このコマンドで、
controllers/hello.py
に雛形が作成されます。
http://localhost:5000/hello
にアクセスすると、
Hello World
と答えてくれるはず。
リクエストに対する分岐は
helloworld/config/routing.py
が担っている模様。
map.connect('', controller='hello', action='index')
map.connect(':controller/:action/:id')
map.connect('*url', controller='template', action='view')
と記載し、public/index.htmlを削除すると、
http://localhost:5000/
にアクセスするだけで、Hello Worldと答えてくれます。
画面の表示にテンプレートを使用したい場合は、
helloworld/templates/serverinfo.mako
というファイルを作成。
内容は
Server info for ${request.host}
The URL you called: ${h.url_for()}
暗黙で、requestとhという変数が定義されています。
requestはその名のとおり、受け取ったrequest。
hはhelperクラスと呼ばれる、html描画サポートクラスです。
このテンプレートを呼び出すにはhelloworld/controllers/hello.pyに
def serverinfo(self):
return render('/serverinfo.mako')
というメソッドを追加すればOK
http://localhost:5000/hello/serverinfo
にアクセスすれば、テンプレートエンジンにより合成されたページを
見ることができます。
PHPでいうcodeigniter、Rubyのruby on railsと同じノリですね。
・・・はじめてのPylons
http://wiki.pylonshq.com/pages/viewpage.action?pageId=10027086の内容を試してみただけです。
webサーバに乗せる方法を調べてみます。
もどる