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'?

È stato utile?

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:

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top