Comment passer dans la partie I « id » de l'URL à un view_callable?
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'?
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