Может ли Flask обеспечить маршрутизацию в стиле CherryPy?

Стиль маршрутизации 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)
6
задан Xuan 17 August 2012 в 09:57
поделиться