Joo*_*wan 2 python regex tornado
尝试使用这样的 URL:
r"/person/(?P<name>[\w-]+)/?**town**?/?$" (currently wrong)
Run Code Online (Sandbox Code Playgroud)
我希望能够检查用户是否在名称后的端点中提供了“城镇”。如何使用 kwarg 将此信息传递给请求处理程序(仅当其拼写正确时)?
提前致谢。
Tornado 允许多个规则指定相同的处理程序类;这通常比尝试使用可选部分构建复杂的正则表达式更简单(尤其是当您还想让尾部斜杠可选时):
(r"/person/(?P<name>[\w-]+)/(?P<town>[\w-]+)/?", MyHandler),
(r"/person/(?P<name>[\w-]+)/?", MyHandler),
Run Code Online (Sandbox Code Playgroud)
我认为组合的正则表达式看起来像这样。请注意使用非捕获组(?: )使/town部分可选(但如果存在,则分隔名称和城镇的斜线也必须存在):
(r"/person/(?P<name>[\w-]+)(?:/(?P<town>[\w-]+))?/?", MyHandler),
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2922 次 |
| 最近记录: |