在 CherryPy 文档的“调度/其他调度程序”部分中,有一个 Django 样式的正则表达式到视图函数映射定义的示例,但没有说明如何将其附加到cherrypy.tree
.
你应该如何注册这个映射?
编辑:基于Google 组中的“正则表达式 URL 映射”线程cherrypy-users
,我可以发现要使用正则表达式附加视图,您需要使用routes
-style 使用cherrypy.dispatch.RoutesDispatcher
类的映射,如下所示:
def hello(name='stranger'):
"""Sample view."""
return 'Hello, %s!'%name
dispatch = cherrypy.dispatch.RoutesDispatcher()
dispatch.connect('hello-1', '/hello', hello)
dispatch.connect('hello-2', '/hello/{name:([^/]+)}', hello)
cherrypy.tree.mount(None, config={
'/': {
'request.dispatch': dispatch,
}
})
请注意{argument-name:regular-expression}
URL 模式中的语法。
有没有办法使用 CherryPy 文档中所示的 list-of-pairs 语法来指定路由模式?