Python路由 - 我正在尝试设置格式扩展但它失败了

时间:2010-09-07 01:07:27

标签: python routes pylons

我正在尝试设置路由并启用可选的“格式”扩展,以指定页面是作为标准HTML页面加载还是加载到灯箱内。

http://routes.groovie.org/setting_up.html#format-extensions之后,我想出了:

map.connect('/info/test{.format:lightbox}', controller='front', action='test')

class FrontController(BaseController):
    def test(self, format='html'):
        print format

这失败了。我的路线搞砸了,网址显示为/front/test而不是/info/test。它正在回归/{controller}/{action}

如何允许格式扩展? :/

2 个答案:

答案 0 :(得分:1)

一般而言:

http://pylonsbook.com/en/1.1/urls-routing-and-dispatch.html#pylons-routing-in-detail

  

路由然后从从上到下搜索路线图中的每条路线,直到找到与该路径匹配的路线。由于匹配是从上到下完成的,因此建议您将自定义路径放在Pylons提供的路径下方,以确保您不会意外干扰Pylons的默认行为。更一般地说,您应该始终将最常规的路线放在路线图的底部,以便在路线图中较低的特定路线之前不会意外地匹配它们。

答案 1 :(得分:0)

我要检查的第一件事是你使用路线1.12。一些发行版仍在1.11上,它不支持格式扩展。

其次,检查路由的定义顺序。这很重要。