URL の「id」部分を view_callable に渡すにはどうすればよいですか?
質問
私は最近 Pyramid をいじっていますが、Pylons のバックグラウンドから来て、トラバーサルではなく URL ルーティングに重点を置いています。
また、ハンドラーを使用して「コントローラー」固有の関数を 1 つのクラスにグループ化することも検討しています。view.py が大量の関数で汚染されるのではなく。
構成:
config.add_handler('view_page', '/page/view/{id}', handler=Page, action=view_page)
ハンドラ:
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}
今日、add_handler() 呼び出しでのアクションの暗黙的な宣言に関するドキュメントを読んでいたので、それは間違っているかもしれません...それにもかかわらず、私の主な問題は、 id
view_callable 内で
「ID」を取得するにはどうすればよいですか?
解決
request.matchdict を通じて «id» にアクセスできます。
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}
より詳しい情報:
所属していません StackOverflow