在 Pyramid 中使用 URL Dispatch 并在路由定义中使用模式匹配,我想确保生成的 URLroute_path
有效并匹配给定的路由 - 最好的方法是什么?
这是我的路线定义 - 我想/numbers
后跟一个等于 1 或更大的数字字符串...
config.add_route('numbers', 'numbers/{n:[1-9]\d*}/')
然后,例如,当我在视图中生成路线时,这很好:
request.route_url('numbers', n=123)
它返回/numbers/123/
这很好......
但是,如果我这样做...
request.route_url('numbers', n='chicken')
Pyramid 返回/numbers/chicken/
显然与模式不匹配,并且在传递回应用程序时会给出 404。
有没有一种方法可以强制 Pyramid 在n
生成路线时检查是否匹配给定的模式?这意味着我可以确定这一点,route_url
并route_path
提供在应用程序中有效的 URL。