一个装饰功能(虽然这个问题是特别为约瓶,它可以概括为每个标题)。然而,Flask应用程序被初始化为一个实例变量,即self.server
被设置为该应用程序。这意味着我不能使用装饰器,因为self
在装饰方法之外未定义。我希望能够做到以下几点:使用</p> <p>我试图用一个类的内部瓶的<code>app.route()</code>装饰定义为实例变量
class MyClass:
def __init__(self):
self.server = Flask(__name__)
@self.server.route('/')
def home():
return '<h1>Success</h1>'
是否有任何解决此问题的方法?任何帮助是极大的赞赏!
谢谢!这很好用 –
我认为这不是一个前瞻性的解决方案,因为最终你将最终得到一个包含所有路由定义及其各自功能的大规模'__init __()'方法。最好使用['add_url_rule()'函数](http://flask.pocoo.org/docs/0.12/api/#flask.Flask.add_url_rule),正如我自己的(和@rumdrums')所解释的那样这个问题。 – YellowShark
在Flask的情况下,这可能会更好。然而,即使对于没有使用Flask的人来说,这也是一个很好的问题。此外,以这种方式定义函数每个函数只比add_url_rule多一行,所以我不认为这种“__init __()'方法”特别重要。 – IanPudney