如何在CherryPy中动态创建请求处理程序?

时间:2011-11-28 23:08:34

标签: python cherrypy

如何使用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参数会更好吗?

1 个答案:

答案 0 :(得分:5)

您可以使用routes,如果这是您的事情,或使用default-dispatcher方法构建root对象,我个人使用默认路由,更自然,并伴随着代码的增长,但是有些人对分离逻辑从路由到应用程序的概念感到更加自在,这是你的选择。