Flask:使用 app 作为属性并访问装饰器

Mer*_*moz 5 python flask

使用 python flask 模块,我想要

app = flask.Flask(__name__)
Run Code Online (Sandbox Code Playgroud)

作为类的属性:

class Handler(object):
    def __init__(self):
        self.datastores = {}
        self.websocket_queue = gevent.queue.JoinableQueue()
        self.app = flask.Flask(__name__)
Run Code Online (Sandbox Code Playgroud)

问题是如何访问装饰器呢?

    @self.app.route('/socket.io/<path:remaining>')
    def socketio(self, remaining):
Run Code Online (Sandbox Code Playgroud)

这会产生错误NameError: name 'self' is not defined 谢谢

ean*_*son 2

您可以尝试使用Flask-Classy ,因为它提供了一种通过Python-Flask使用类的简单方法。