webapp2匹配所有其他路径的路由

use*_*896 4 routes webapp2

我在我的主应用程序中有以下代码.我希望除了前两个之外的所有路径都被最后一个路由(/.*)捕获.但我得到404错误.我错过了什么?

  import webapp2
  from webapp2 import WSGIApplication, Route

  # ---- main handler
  class MainPage(webapp2.RequestHandler):
    def get(self):
      ret = jinja2render.DoRender(self)
      return ret

  routes = [
    Route (r'/rpc', handler = 'rpc.RPCHandler'),
    Route (r'/secured/somesecuredpage', handler = 'secured.securedPageHandler'),
    Route (r'/.*', handler = MainPage),
  ]

  app = WSGIApplication(routes, debug=True)
Run Code Online (Sandbox Code Playgroud)

我可以将最后一条路径从"/."更改为"/ <:. >"以捕获所有其他路径,但这也要求我在MainPage.get函数中包含一个命名参数.这是唯一的办法,还是我错过了什么?谢谢.

eri*_*ins 8

根据URI模板文档,这应该做的伎俩:

Route (r'/<:.*>', handler=MainPage)
Run Code Online (Sandbox Code Playgroud)

您可能需要MainPage.get按如下方式定义方法以接受额外的参数:

def get(self, *args, **kwargs):
Run Code Online (Sandbox Code Playgroud)