【发布时间】:2012-01-11 18:08:23
【问题描述】:
在老式 webapp 中,基于 app.yaml 的路由允许您检查正则表达式,如果匹配,则由名称基于找到的模式的处理程序处理请求。例如,如果匹配的模式是“用户”,\1_handler.py 将分派给 user_handler.py。
有没有办法用 webapp2.Route 做同样的事情?惰性处理程序或method_handler参数是否可以基于模板中的匹配模式?
【问题讨论】:
-
您在这里谈论的是两个不同的东西 - app.yaml 和您的 Web 框架。您仍然可以在 webapp2 中使用基于 app.yaml 的路由。
-
是的,我知道。但我想要做的是根据 URL 的内容,让请求处理程序类中的不同方法处理请求。因此,如果是用户/显示,我希望它转到 Handler:show,如果是用户/添加,我希望它转到用户:添加。我正在为三种类型的实体(用户+2)和 5 种类型的操作执行此操作。您可以在 15 条路线 ineebapp2 中执行此操作。但我正在研究如何将其缩小到 3 或 1。我看不出 app.yaml 定义如何允许我定义方法。
-
不会,但这不是您在原始问题中要问的。实际上,我不确定它是如何关联的。
-
"lazy handler或者method_handler参数可以基于template中匹配的模式吗?"
-
您似乎在谈论根据路径路由到模块,而不是选择方法。无论如何,您尝试做的事情并不真正符合 webapp2 的 RESTful 精神,后者将每个不同的函数都由不同的处理程序类处理。