我有一个像这样的樱桃应用程序:
import cherrypy
from controllers import UsersController
class Root(object):
exposed = True
def index(self):
return 'welcome'
if __name__ == '__main__':
root = Root()
root.users = UsersController()
cherrypy.tree.mount(
root,
'/',
{
'/users' : {'request.dispatch' : cherrypy.dispatch.MethodDispatcher()}
}
)
cherrypy.engine.start()
cherrypy.engine.block()
现在我希望使用MethodDispatcher()向/ users资源提供REST api,我想要一个'/'路径的默认调度程序(其中需要调用root.index())。而不是编写自己的RoutesDispatcher()有没有办法实现这一目标? (例如,如图所示对'/ users'使用MethodDispatcher(),对'/'使用DefaultDispatcher()?顺便说一句,我得到的错误是'Root' object is not callable
。
答案 0 :(得分:2)
由于您的Root
将与普通的调度员一起提供,因此应该是index.exposed = True
。