Pergunta

Ultimamente, tenho brincado com a pirâmide e, vindo de um fundo de pilons, tenho focado no roteamento de URL em vez de travessia.

Também tenho procurado usar manipuladores para agrupar funções específicas do 'controlador' na classe. Em vez de ter visualização.py poluído com várias funções.

Config:

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

Manipulador:

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}

Eu estava lendo os documentos hoje cedo sobre a declaração implícita da ação na chamada add_handler () para que isso possa estar errado ... no entanto, meu principal problema é ao acessar o id dentro do VIEW_CALLABLE

Como faço para obter 'id'?

Foi útil?

Solução

Você pode acessar «id» através do 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}

Mais informações:

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top