0

我正在处理的 Python 应用程序中有两条路线,但我似乎无法使匹配正常工作。路线如下所示:

webapp2.Route('/(.*?)/(.*?)', grouploader.Loader),
webapp2.Route(r'/edit/(.*?)/(.*?)', handler='grouploader.Editor'),

我希望 url 喜欢/a/b转到第一个并/edit/a/b转到第二个。显然这里的匹配是贪婪的,因为第一条规则总是匹配,返回我"edit/a""b"两个值。有没有办法使这项工作,或者我在吠叫错误的树?

4

1 回答 1

1

反转路线,不要使用惰性匹配,你有另一个更好的工具:

webapp2.Route('/edit/([^/]+)/([^/]+)', handler = 'grouploader.Editor');
webapp2.Route('/([^/]+)/([^/]+)', grouploader.Loader);
于 2013-05-19T22:43:01.677 回答