5

我最近一直在玩 Pyramid,来自 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() 调用中操作的隐式声明的文档,因此这可能是错误的......不过,我的主要问题是id在 view_callable中访问

我如何获得“身份证”?

4

1 回答 1

10

您可以通过 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}

更多信息:

于 2011-01-06T13:40:17.343 回答