Come faccio a passare nella porzione 'id' di l'URL di un view_callable?
Domanda
Ho giocato in giro con la piramide ultimamente e, venendo da un background Piloni, ho concentrandosi in URL di routing invece di attraversamento.
Ho anche stato a guardare con i gestori di raggruppare le funzioni di 'controllo' specifiche nella classe uno. Piuttosto che avere view.py inquinato con un gruppo di funzioni.
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}
I stava leggendo la documentazione prima di oggi per quanto riguarda la dichiarazione implicita dell'azione nella chiamata add_handler () in modo che possa essere sbagliato ... Tuttavia, il mio problema principale è con l'accesso alla id
all'interno del view_callable
Come faccio ad avere 'id'?
Soluzione
È possibile accedere a «id» attraverso 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}
Più informazioni: