Sud*_*han 19 python google-app-engine webapp2
我正在使用新的webapp2(现在是1.6中的默认webapp),我无法弄清楚如何在这样的代码中使尾部斜杠可选:
webapp.Route('/feed', handler = feed)
Run Code Online (Sandbox Code Playgroud)
我试过/feed/?
,/feed/*
,/feed\/*
和/feed\/?
,都无济于事.
Ane*_*eon 13
为避免在同一页面上创建重复的URL,您应使用RedirectRoute并将strict_slash设置为True以自动重定向/ feed/to/feed,如下所示:
from webapp2_extras.routes import RedirectRoute
route = RedirectRoute('/feed', handler=feed, strict_slash=True)
Run Code Online (Sandbox Code Playgroud)
更多信息,请访问http://webapp2.readthedocs.io/en/latest/api/webapp2_extras/routes.html
我不喜欢这个RedirectRoute
类,因为它会导致不必要的HTTP重定向.
基于webapp2 Route类的文档,这里有一个更详细的答案,在这个webapp2.Route中有可选的前导部分线程.
简答
我的路由模式适用于以下URL.
SITE_URLS = [
webapp2.Route(r'/', handler=HomePageHandler, name='route-home'),
webapp2.Route(r'/feed/<:(create/?)|edit/><entity_id:(\d*)>',
handler=MyFeedHandler,
name='route-entity-create-or-edit'),
webapp2.SimpleRoute(r'/feed/?',
handler=MyFeedListHandler,
name='route-entity-list'),
]
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你 :-)
归档时间: |
|
查看次数: |
5174 次 |
最近记录: |