您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關(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é)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(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)容。