Wie kann ich in dem ‚id‘ Teil der URL an einen view_callable passieren?
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'?
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