簡體   English   中英

在Flask中,為什么這個hello world應用程序有效?

[英]In Flask, why does this hello world app work?

查看Flask網站上的默認“Hello world”腳本:

from flask import Flask
app = Flask(__name__)

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

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

我對編程很新,所以我不明白這個腳本是如何工作的 - hello()函數不會在任何地方調用,所以Flask只顯示找到的第一個函數的輸出? 如果我想在頁面上顯示兩個或三個函數的輸出怎么辦?

這一行: @app.route("/")將函數注冊為'/'路由的處理程序。 當瀏覽器查詢'/'(根)時,應用程序響應“Hello World!”。

@語法稱為裝飾器。

如何制作一系列功能裝飾器?

看一下這段代碼:

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"

將它保存到一個文件中並嘗試它,你會看到在定義你好后你會看到這樣的東西:

此函數在<0x241c70>處調用<function hello

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM