【发布时间】:2016-10-19 00:18:32
【问题描述】:
我在 Pyramid 1.7 中开发并遇到一个有趣的场景,其中一些 URL 调度替换变量与路由匹配,而另一些则不匹配。这些变量是数字,从我在文档中可以看出,这可能不是最佳实践,甚至是不允许的:
http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/urldispatch.html
我的路线基本上定义为:
config.add_route("my_route", "/path/more_path/{num_var1}-{num_var2}-even_more_path")
我看到的有趣的事情是,如果 num_var1 = 1 且 num_var2 = 1,则路径解析得很好。如果 num_var1 = 100 和 num_var_2 = 100,它也可以很好地解决。但是,如果 num_var1 = 1 且 num_var2 = 100,则无法解析。这是出于某种原因我应该预料到的失败还是应该正确解决?
谢谢!
【问题讨论】:
-
你忽略了
var1的值。你还配置了其他路由吗? order in which routes are declared 在匹配时很重要。 -
对不起,我把路线调整得更清楚了。虽然我有另一个替换变量,但它与这个问题无关。我确实配置了其他路线,但据我所知,我没有遇到任何冲突。每一个都是独一无二的,足以避开这一点。您说订单很重要也是对的,但我看到的奇怪之处在于重置价值本身很重要。正如我所提到的,如果值相同,我可以,但如果我的路线值不同,则金字塔错误。
-
让我们看看其他路线。或者更好的是,一个完整的可重现示例。