6

Pythonフラスコモジュールを使用して、私は

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):

それはエラーを生成しますNameError: name 'self' is not defined ありがとう

4

2 に答える 2

2

Python-Flaskでクラスを使用する簡単な方法を提供するため、Flask-Classyを使用してみてください。

于 2013-04-08T14:32:13.833 に答える
2

Handlerそれは依存します-クラスのメソッド内にハンドラーを追加している場合、問題なく動作するはずです:

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

外部にルートを追加しようとしている場合は、インスタンスHandlerへの参照を使用する必要があります。Handler

handler = Handler()

@handler.app.route("/some/route")
def some_route():
    return "At some route"
于 2013-04-08T15:01:28.130 に答える