2011-01-06 3 views
4

私は最近ピラミッドで遊んでいました。パイロンのバックグラウンドから来て、トラバーサルではなくURLルーティングに集中してきました。URLの 'id'部分をview_callableに渡すにはどうすればよいですか?

私はハンドラを使用して、コントローラ固有の機能を1つのクラスにグループ化する方法も検討しています。 view.pyを複数の関数で汚染するのではなく、

設定:

config.add_handler('view_page', '/page/view/{id}', handler=Page, action=view_page) 

ハンドラー:私はadd_handler()の呼び出しでのアクションの暗黙の宣言に関する以前の今日のドキュメントを読んでいた

from pyramid.response import Response 
from pyramid.view import action 

class Page(object): 

    def __init__(self, request): 
     self.request = request 

    def view_page(self): 
     return {'id': id} 

それは間違っている可能性がありますので、...それにもかかわらず、私の主な問題は、view_callable内のidにアクセスすることです。

「ID」を取得するにはどうすればよいですか?

答えて

9

あなたはrequest.matchdictを通じて«ID»アクセスすることができます。私は、以前のことを読んで覚えているが、それは完全に滑っ

+0

from pyramid.response import Response from pyramid.view import action class Page(object): def __init__(self, request): self.request = request def view_page(self): matchdict = request.matchdict id = matchdict.get('id', None) return {'id': id} 

さらに詳しい情報私の心...乾杯。 – dave

関連する問題