2011-11-28 41 views
2

如何在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

或者使用根索引作为catch-all并简单地处理url参数的方式会更好吗?

回答

5

您可以使用routes,如果那是你的事,或者建立一个与default-dispatcher办法一个root对象,我个人使用默认的路由,更自然,并与代码的成长一起去,但有些人觉得更对于从路由到应用程序的分离逻辑的概念,您的选择感到满意。

相关问题