webapp2:路由中的正则表达式

Dim*_*try 2 python regex webapp2

我有这样一个问题:我想要一个类的方法来处理不同的URI(对于URI"/ solution/add"和"solution/edit").所以我写了这样的路由:

app = webapp2.WSGIApplication([webapp2.Route(r'/solutions/(add|edit)', handler='solution.SolutionPage:add_edit_solution'), ], debug=True)
Run Code Online (Sandbox Code Playgroud)

而webapp2给出了404错误.你能建议解决这个问题吗?

当然,我可以为每个URI编写不同的路由,但它并不那么有趣.)

sen*_*rle 6

正如webapp2文档所示,你必须将正则表达式放在尖括号中,冒号分隔名称和表达式.该名称是可选的,但是

<>之外的所有内容都不会被解释为要匹配的正则表达式

这样的事情:'/blog/<:\d{4}>/<:\d{2}>'或者在你的情况下,这个:

webapp2.Route(r'/solutions/<:(add|edit)>',
              handler='solution.SolutionPage:add_edit_solution')
Run Code Online (Sandbox Code Playgroud)