Стиль маршрутизации CherryPy по умолчанию основан на экземплярах классов с методами, оформленными @cherrypy.expose
.
В приведенном ниже примере эти URL-адреса предоставляются путем простой настройки обычных классов.
/
/hello
/hello/again
/bye
/bye/again
Интересно, есть ли способ добиться этого, используя @route Flask или какой-либо другой декоратор.
import cherrypy
class Root(object):
@cherrypy.expose
def index(self):
return 'my app'
class Greeting(object):
def __init__(self, name, greeting):
self.name = name
self.greeting = greeting
@cherrypy.expose
def index(self):
return '%s %s!' %(self.greeting, self.name)
@cherrypy.expose
def again(self):
return '%s again, %s!' %(self.greeting, self.name)
if __name__ == '__main__':
root = Root()
root.hello = Greeting('Foo', 'Hello')
root.bye = Greeting('Bar', 'Bye')
cherrypy.quickstart(root)