Como faço para passar na parte 'id' do URL para um visualize_callable?
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'?
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