6

查看 Flask 网站上默认的“Hello world”脚本:

from flask import Flask
app = Flask(__name__)

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

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

我对编程很陌生,所以我不明白这个脚本是如何工作的——这个hello()函数不会在任何地方调用,那么 Flask 是否只是显示找到的第一个函数的输出?如果我想在页面上显示两个或三个函数的输出怎么办?

4

2 回答 2

10

这一行:@app.route("/")将函数注册为 '/' 路由的处理程序。当浏览器查询“/”(根)时,应用程序会响应“Hello World!”。

@语法称为装饰器。

如何制作功能装饰器链?

于 2012-10-03T19:58:23.177 回答
1

例如看一下这段代码:

def decorator(func):
    print "this function is called for " + func 
    def wrapper(*args, **kwargs):
            return func(*args, **kwargs)
    return wrapper

@decorator
def hello():
    return "Hello"

将其保存到文件中并尝试一下,您会看到在定义 hello 后您会看到如下内容:

此函数为 <function hello at 0x241c70> 调用

于 2012-10-27T17:19:16.027 回答