URL の「id」部分を view_callable に渡すにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/4614260

  •  26-09-2019
  •  | 
  •  

質問

私は最近 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}

より詳しい情報:

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top