たけし備忘録

自分の好奇心の赴くままに勉強メモ LL系が大好き Python bash Julia C

2.クイックスタート

クイックスタート: "Hello World"


 このチュートリアルでは、ボトルをインストール、またはプロジェクトディレクトリにコピーしたことを前提にしています。最も基本的な "Hello World"の例から始めましょう:

from bottle import route, run

@route('/hello')
def hello():
    return "Hello World!"
run(host='localhost', port=8080, debug=True)

 このスクリプトを実行し、​http://localhost:8080/helloにアクセスすると、あなたのブラウザに "Hello World!"が表示されます。


 route() デコレータは、URLパスのコードの一部をバインドします。この場合では、hello() 関数に/hello というURLをリンクします。
 これは、ルート(すなわちデコレータ名)と呼ばれ、このフレームワークの中で最も重要な概念です。必要な数だけルートとして定義することができます。ブラウザがURLを要求するたびに、リンクされた関数(今回はhello())が呼び出され、戻り値がブラウザに返されます。それほどシンプルなのです。


 最後の行のrun()で組み込みの開発用(テスト用)サーバーを起動します。これは、localhostのポート8080上で実行され、Control-cを押すまで、リクエストを提供します。
 後でサーバーのバックエンドを切り替えることができますが、この開発用サーバ上に必要とする全てが入っている。開発用サーバーは設定を全く必要とせず、あなたのアプリケーションを取得し、ローカルテストのために実行する上で信じられないほど労力を必要としない方法です。


 デバッグ·モードは初期の開発時に非常に便利ですが、公開されたアプリケーションのためにオフにする必要があります。このことを念頭に置いて保管してください。

 これは非常に単純な例ですが、bottleを使ったアプリケーション構築の基本的な考え方を含んでいます。さらに読み続けて、他に何が出来るのかを見ていきましょう。


デフォルトのアプリケーション

 簡単のためにこのチュートリアルではほとんどの例で、ルートを定義するモジュールレベルのデコレータであるroute()を使います。
 これはルートを追加するための標準的なデフォルトアプリケーションであり、初めてroute()を呼び出した時に自動的に作成されるbottle.Bottleのインスタンスです。他のいくつかのモジュールレベルのデコレータと関数は、このデフォルトのアプリケーションに関連していますが、より多くのオブジェクト指向のアプローチを好むと余分なタイピングを気にしない場合は、別のアプリケーションオブジェクトを作成し、グローバルなものの代わりにそのを使用することができます。

from bottle import Bottle, run
app = Bottle()
@app.route('/hello')
def hello():
    return "Hello World!"
run(app, host='localhost', port=8080)

オブジェクト指向のアプローチは、さらにデフォルトのアプリケーションのセクションで説明されています。ちょうどあなたが選択を持っていることを心に留めておいてください。

次の記事へ進む → 3.ルーティングリクエスト


関連リンク