Question

Je joue autour avec Pyramid ces derniers temps et, provenant d'un fond Pylônes, je me concentre dans le routage d'URL plutôt que traversal.

J'ai aussi cherché à utiliser les gestionnaires de regrouper des fonctions spécifiques « contrôleur » dans une classe. Plutôt que d'avoir view.py pollué avec un groupe de fonctions.

Config:

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

Gestionnaire:

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}

Je lisais les documents plus tôt aujourd'hui au sujet de la déclaration implicite de l'action dans l'appel add_handler () de sorte que peut-être tort ... Cependant, mon principal problème est avec l'accès au id dans le view_callable

Comment puis-je obtenir 'id'?

Était-ce utile?

La solution

Vous pouvez accéder à «id» par 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}

Plus d'infos:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top