Pyramidでルーティング
Pyramidのインストール - Calmery.me で Pyramid を導入したので,次はルーティングを行い処理を分けてみる.
from pyramid.config import Configurator from pyramid.response import Response from pyramid.view import view_config from waitress import serve @view_config(route_name='home') def index(request): return Response("home") @view_config(route_name='hello') def hello(request): return Response("hello") if __name__ == '__main__': config = Configurator() config.add_route('home', '/') config.add_route('hello', '/hello') config.scan() app = config.make_wsgi_app() serve(app, host='0.0.0.0')
Pyramid チュートリアル — Pyramid Tutorial for PyCon JP Sprint 1.0 documentation によると,
Configurator の add_route でルートを追加します。 第一引数がルートの名前( route_name ) で、第二引数がURLのパターンです。
また、さきほどと違い、 View の登録を view_config デコレータで行っています。 このデコレータをつけておくと、 Configurator が scan したときに、その関数が add_view されます。
ということだ.
要は view_config デコレータと Configurator の add_route を使って紐付けちゃうよってことらしい.
あとは前回と同じように動かし,
localhost:8080
localhost:8080/hello
を見てみる.
ちなみに,ポートは 8080 となっているみたい.
変更するには serve 関数に引数で番号を渡す.
serve(app, host='0.0.0.0', port='80')
$ python routing.py serving on http://0.0.0.0:80