溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

flask要用url_for的原因

發(fā)布時間:2020-10-30 11:54:54 來源:億速云 閱讀:170 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關(guān)flask要用url_for的原因,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

我們先看下面這一段代碼,再做解釋

from flask import Flask,request,url_for
app=Flask(__name__)
 
@app.route('/')
 
def Index():
 
    return  "<h2>this is Index Page</h2>"
 
@app.route('/test')
 
def query_user():
 
    id=request.args.get('id')
 
    return "query user:"+id
 
@app.route('/query_url')
 
def query_url():
 

    return  "query url:"+url_for("query_user")
 
if __name__ == "__main__":
 
    app.run(debug=True)

一般我們通過一個URL就可以執(zhí)行到某一個函數(shù)。如果反過來,我們知道一個函數(shù),怎么去獲得這個URL呢?url_for函數(shù)就可以幫我們實現(xiàn)這個功能。url_for()函數(shù)接收兩個及以上的參數(shù),他接收函數(shù)名作為第一個參數(shù),接收對應(yīng)URL規(guī)則的命名參數(shù),如果還出現(xiàn)其他的參數(shù),則會添加到URL的后面作為查詢參數(shù)。

通過構(gòu)建URL的方式而選擇直接在代碼中拼URL的原因有兩點:

將來如果修改了URL,但沒有修改該URL對應(yīng)的函數(shù)名,就不用到處去替換URL了。

url_for()函數(shù)會轉(zhuǎn)義特殊字符和Unocode數(shù)據(jù),這些工作都不需要我們自己處理。

輸入http://127.0.0.1:5000/test?id=123 返回query user:123

輸入http://127.0.0.1:5000/query_url返回query url:test

通過上面的代碼以及輸入鏈接分析

url_for(方法的名) 和app.route參數(shù)的關(guān)系是

url_for(方法的名) =app.route參數(shù)名

而url_for()本身和app.route的參數(shù)是沒關(guān)系的,之和方法的參數(shù)名相關(guān)。

關(guān)于flask要用url_for的原因就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI