我最近一直在玩金字塔,而且从Pylons背景来看,我一直专注于URL路由而不是遍历。
我一直在寻找使用处理程序将“控制器”特定功能组合到一个类中。而不是让view.py被一堆函数污染。
配置:
config.add_handler('view_page', '/page/view/{id}', handler=Page, action=view_page)
处理程序:
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}
我今天早些时候正在阅读关于add_handler()调用中隐式声明操作的文档,这可能是错误的......但是,我的主要问题是访问view_callable中的id
我如何获得'id'?
答案 0 :(得分:9)
您可以通过request.matchdict:
访问«id»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}
更多信息: