Python Flask:将应用程序用作属性并访问装饰器

Python Flask:将应用程序用作属性并访问装饰器,python,flask,Python,Flask,使用python flask模块,我希望 app = flask.Flask(__name__) 作为类的属性: class Handler(object): def __init__(self): self.datastores = {} self.websocket_queue = gevent.queue.JoinableQueue() self.app = flask.Flask(__name__) 问题是如何访问装饰器

使用python flask模块,我希望

app = flask.Flask(__name__)
作为类的属性:

class Handler(object):
    def __init__(self):
        self.datastores = {}
        self.websocket_queue = gevent.queue.JoinableQueue()
        self.app = flask.Flask(__name__)
问题是如何访问装饰器

    @self.app.route('/socket.io/<path:remaining>')
    def socketio(self, remaining):
@self.app.route('/socket.io/'))
def socketio(自身,剩余):
生成错误的名称错误:未定义名称“self”
谢谢,您可以尝试使用,因为它提供了一种简单的方法来使用类。

这取决于-如果您在
处理程序
类的方法中添加处理程序,它应该可以正常工作:

def add_routes(self):
    @self.app.route("/some/route")
    def some_route():
        return "At some route"
如果您试图在
处理程序
之外添加路由,则需要使用对
处理程序
实例的引用:

handler = Handler()

@handler.app.route("/some/route")
def some_route():
    return "At some route"

我希望在
Handler
中包含处理程序,那么我是否应该在
add_routes
方法中定义我的所有方法?@Mermoz-在对应用程序有意义的任何方法或方法组合的内部。