画面遷移の妙

フレキシブルな画面遷移の設定が出来ます。
てかまあ、Strutsよりは楽だわね。StrutsにはStrutsの良さがあるけどさ。

__init__.py

    config.add_route('gazo_bbs', '/board')
    config.add_route('gazo_bbs_page', '/board/{page}')
    config.add_route('gazo_bbs_res', '/board/res/{res}')
    config.scan('gazobbs')

views.py

@view_config(route_name='gazo_bbs', renderer='log.mak')
@view_config(route_name='gazo_bbs_page', renderer='log.mak')
@view_config(route_name='gazo_bbs_res', renderer='log.mak')
def show_bbs(request):

    #パラメータ受け取り
    try:
        res = int(request.matchdict['res'])
    except (KeyError, ValueError):
        res = 0

    try:
        page = int(request.matchdict['page'])
    except (KeyError, ValueError):
        page = 0

    # 返却処理へ続く

これで、
http://www.test.com/board
http://www.test.com/board/1
http://www.test.com/board/res/1
で全部同じメソッドに飛ぶ。
ページ(と定義した数字)があればページを受け取り、レス番号(と定義した数字)があったらレス番号を受け取れる。