2015年9月23日水曜日

pythonの超軽量webフレームワーク Bottle

pythonでおもちゃを動かすプログラムを作っていて、それをwebからコントロールしたくなりました。 何か楽な手段はないかと探したら、pythonによる超軽量なwebフレームワーク”Bottle”があることを知りました。特徴は、bottle.pyというファイル一つ使うだけでいいこと。

1.bottleのインストール

インストールというほどのこともありません。以下のコマンドでbottle.pyをDLしてくるだけです。

wget http://bottlepy.org/bottle.py

ただこのコマンドを実行してみたところ、githubに飛ばされて、そこからDLしてきました。


2.最初のサンプル

bottle.pyの中に各種モジュールが入っているので、必要なものをimportしたpythonプログラムを書いてやります。超シンプルなものを以下に示します。(hello_world.pyで作成)

from bottle import route, run

@route('/hello')
def hello():
    return "Hello World!"

run(host='localhost', port=8080, debug=True, reloader=True)

これで、以下を実行します。(bottle.pyは同じ階層に置いておきます)
 $ python hello_world.py 

次にブラウザで、http://localhost:8080/hello にアクセスすると、ブラウザに”Hello World!”の文字が表示されます。 最初に文字コードを指定してやれば、日本語ももちろんいけます。

 # -*- coding:utf-8 -*-

さて、次に考えないといけないのは、ページ上に入力欄やボタン、リンクに飛ばすことができるよう、htmlを別途用意して、それを表示させるにはどうしたらいいか?どうもテンプレート(.tpl)ファイルを用意してやればいいようです。そちらについては、また今度結果をまとめようと思います。