Start - Bottle Web Framework

昨日の調べで良さそうだったBottleというWAFを使ってみました。

単独で起動

% sudo pip install bottle
% vi hello.py
from bottle import route, run

@route('/')
def index():
    return 'Hello Bottle!'

run(host='localhost', port=8080)

デコレータでroutingするところが素敵。(routingと処理が別々の場所にあるのは面倒)

% python hello.py 
Bottle server starting up (using WSGIRefServer (localhost:8080))...
Listening on http://localhost:8080/
Use Ctrl-C to quit.
http://localhost:8080/

mod_wsgiで起動

% sudo vi /opt/local/apache2/conf/extra/httpd-vhosts.conf
(...)
<VirtualHost *:80>
    ServerName hello-bottle
    DocumentRoot "/Users/komagata/Sites/hello-bottle"
    WSGIDaemonProcess hello-bottle processes=2 threads=15
    WSGIScriptAlias / /Users/komagata/Sites/hello-bottle/app.wsgi
</VirtualHost>

mod_wsgi起動の場合はちょっと違う。applicationにclassだか関数だけを入れとけば実行してくれるって感じかな?(勘)

from bottle import route, default_app

@route('/')
def index():
    return 'Hello, Bottle! on mod_wsgi'

application = default_app()
http://hello-bottle/

django(1日だけのハンズオンセミナーでちょっと触った)、TruboGears(本読んだ)、web.py(何となく眺めた)、Pylons(触れてない)という程度の調べだけど、このBottleに抜群に好感触を得ました。(要はSinatraに似てるからなんだけど)

Comments


Option