【问题标题】:How can python find decorated functions within it?python如何在其中找到修饰函数?
【发布时间】:2018-10-27 07:00:16
【问题描述】:

在下面的代码中,app.run() 是如何发现 hello() 存在的?我浏览了代码并找不到答案。我认为 hello() 在被调用之前不会被添加到路由列表中,但是它是如何被调用的呢?

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

我对 Flask 并不特别感兴趣。我只想自己实现类似的东西。

这种设计模式叫什么?

【问题讨论】:

标签: python design-patterns flask python-decorators


【解决方案1】:

你的假设是错误的。装饰器本身就是可执行代码,它们在它们装饰的函数被定义时被调用,即在导入时。然后装饰器中的代码可以将路由添加到它的注册表中。

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2018-07-07
    • 2014-10-27
    • 2018-12-12
    • 2014-06-28
    • 1970-01-01
    • 2020-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多