如何使用CherryPy在运行时创建请求处理程序?默认的调度方法显示了显式创建处理程序对象并以这种方式构建树:
class OnePage(object):
def index(self):
return "one page!"
index.exposed = True
class HelloWorld(object):
onepage = OnePage()
def index(self):
return "hello world"
index.exposed = True
cherrypy.quickstart(HelloWorld())
假设您的网址是硬编码的,这很好。但是用户定义的URL呢?是否可以在运行时创建树?
我问的原因是我想在CherryPy上创建一个CMS,用户可以在其中指定自己的URL方案。例如。 http://example.com/my/custom/url
或者将root索引用作catch-all并简单地处理url参数会更好吗?
答案 0 :(得分:5)
您可以使用routes,如果这是您的事情,或使用default-dispatcher方法构建root
对象,我个人使用默认路由,更自然,并伴随着代码的增长,但是有些人对分离逻辑从路由到应用程序的概念感到更加自在,这是你的选择。