Flask 應用程式路由
我們將學習如何在 Flask 中建立路由,以及在 Flask 中呼叫路由時如何獲得響應。
使用 Flask 中的 app.route()
裝飾器建立頁面
我們可以路由的方式是通過使用裝飾器,那麼裝飾器是什麼?好吧,每當我們看到一個帶有類似 @app.route('/')
的函式的 @
符號時,它就是一個裝飾器。
這是一種包裝現有 Python 函式並修改其行為的方法。我們將 URL 路由或對映到返回值,並且每當使用者請求 URL 時,伺服器的響應將是任何函式的返回值。
我們將向你展示一些更有意義的示例,因此讓我們建立一條路線。
@app.route('/fund-api')
現在我們將定義一個名為 Fund_Func()
的函式,因此每當使用者訪問通常是我們的 URL 的頁面時,例如 /fund-api
,該函式將返回包含在該函式下的所有內容。我們將返回 HTML <h2>
標籤。
def Fund_Func():
return "<h2>Your fund is returned</h2>"
當我們儲存並執行這個伺服器時,我們可以訪問我們的索引頁面並繼續在 URL 中寫入 fund-api
,這意味著我們請求伺服器提供 Fund_Func
頁面並檢查請求是否有效.如果路由有效,那麼它將執行該路由中存在的函式。
使用 render_template()
包含 HTML 有更好的方法。我們要做的另一件事是在路由中使用變數。
假設我們正在設定我們的網頁,在這個網頁中,我們有一個配置檔案部分,我們想知道哪個使用者正在使用它的配置檔案。
我們需要加入該變數以成為此 URL 的一部分,並且根據該變數,內容會發生變化。現在我們要建立一個新路由,在路由內部,我們將新增一個名為 candidate_name
的變數並將其放在尖括號之間。
現在我們將在路由中使用的函式中傳遞一個引數,然後我們可以返回這個變數以及我們想要在螢幕上顯示的任何內容。我們將從 URL 傳遞這個變數。
@app.route("/fund-user-api/<candidate_name>")
def Fund_Func_Var(candidate_name):
return "<h2>Hi %s,your fund is returned</h2>" % candidate_name
當我們通過 URL 傳遞變數值時,它將返回帶有我們傳遞的引數的響應,如果我們不傳遞引數值,它將引發錯誤,因為這也是 URL 的一部分。
完整的 Python 程式碼:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return "The main page"
@app.route("/fund-api")
def Fund_Func():
return "<h2>Your fund is returned</h2>"
@app.route("/fund-user-api/<candidate_name>")
def Fund_Func_Var(candidate_name):
return "<h2>Hi %s,your fund is returned</h2>" % candidate_name
if __name__ == "__main__":
app.run(debug=True)
Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.
LinkedIn