【问题标题】:How to use pyramid @view_defaults to specify multiple routes for same view如何使用金字塔@view_defaults 为同一视图指定多条路线
【发布时间】:2017-05-03 14:14:46
【问题描述】:

我发现我可以使用多个 @view_config 装饰器来使视图处理多个路由,如下所示:

@view_config(route_name = "user_create")
@view_config(route_name = "user_edit")
def handle_it(request):
    pass

但是当我尝试使用类装饰器 @view_defaults 实现相同的目标时,它不起作用:

@view_defaults(route_name = "user_create")
@view_defaults(route_name = "user_edit")
class Foo(object):
    def __init__(self, request):
        self.request = request
    def handle_it(self):
        pass

在最后一种情况下发生的情况是提到的第一个路由 (user_create) 被金字塔接受,但对 user_edit 路由的请求会产生 404 错误。

我不应该以这种方式使用@view_defaults 吗? 迈克尔

【问题讨论】:

    标签: decorator pyramid


    【解决方案1】:

    view_defaults 用作每个view_config 调用的输入。它们不是替代品。路由唯一关心的是注册的实际视图,这是通过view_configconfig.add_view 完成的。 view_defaults 不注册视图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-18
      • 2014-08-03
      • 2020-12-27
      • 2017-07-03
      • 1970-01-01
      • 1970-01-01
      • 2012-03-27
      • 2017-05-07
      相关资源
      最近更新 更多