Frage

Ich habe mit Pyramid Herumspielen in letzter Zeit und von einem Hintergrund Pylonen kommen, ich habe konzentriert worden in URL-Routing statt Traversal.

Ich habe auch bei Verwendung Handler Gruppe zusammen ‚Controller‘ spezifische Funktionen in die eine Klasse gesucht. Anstatt mit einem Bündel von Funktionen view.py verunreinigt zu haben.

Config:

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

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}

Ich habe die Dokumentation früher heute in Bezug auf die implizite Deklaration der Aktion in der add_handler () Aufruf zu lesen, so dass falsch sein kann ... Trotzdem, mein Hauptproblem ist die id innerhalb der mit dem Zugriff auf view_callable

Wie komme ich 'id'?

War es hilfreich?

Lösung

Sie können «ID» Zugang durch request.matchdict:

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}

Weitere Informationen:

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top