Flask框架學(xué)習(xí)筆記之路由和反向路由詳解【圖文與實(shí)例】
本文實(shí)例講述了Flask框架學(xué)習(xí)筆記之路由和反向路由。分享給大家供大家參考,具體如下:
#-*- coding:utf-8 -*- from flask import Flask, request, url_for app = Flask(__name__) # 路由 @app.route("/") # 視圖函數(shù) def index(): return "<h1>Hello World!</h1>" # 新的user路由 @app.route("/user", methods = ['POST']) def hello_user(): return "<h1>Hello User!</h1>" # 動(dòng)態(tài)路由。使用<>圈起來(lái),輸入網(wǎng)址時(shí)輸入 @app.route("/users/<id>") # 傳入id參數(shù) def user_id(id): return "<h1>Hello user: " + id # 也可以不傳參顯示動(dòng)態(tài)參數(shù) @app.route("/query_user") def query_user(): id = request.args.get('id') return "query_user: " + id # 反向路由,通過(guò)視圖函數(shù)反導(dǎo)出url地址 @app.route("/query_url") def query_url(): return "query_url: " + url_for('query_user') if __name__ == '__main__': app.run()
最基礎(chǔ)的路由:@app.route('/')
,也為根路由,程序運(yùn)行后使用瀏覽器打開(kāi)http://127.0.0.1:5000/即可訪問(wèn)。
# 路由 @app.route("/") # 視圖函數(shù) def index(): return "<h1>Hello World!</h1>"
視圖函數(shù)就是被當(dāng)前路由所修飾的函數(shù),return
返回html相關(guān)內(nèi)容。
路由也可以修改當(dāng)前的http方法來(lái)打開(kāi),flask路由默認(rèn)的http方法是GET,這里使用methods=['POST']
將http方法改為POST。
訪問(wèn)網(wǎng)頁(yè)時(shí)要更改http方法:
# 新的user路由 @app.route("/user", methods = ['POST']) def hello_user(): return "<h1>Hello User!</h1>"
flask路由也可接受動(dòng)態(tài)參數(shù),動(dòng)態(tài)參數(shù)需要使用<>
包裹表示。
# 動(dòng)態(tài)路由。使用<>圈起來(lái),輸入網(wǎng)址時(shí)輸入 @app.route("/users/<id>") # 傳入id參數(shù) def user_id(id): return "<h1>Hello user: " + id
需要在網(wǎng)址后輸入任意合法的值來(lái)傳入動(dòng)態(tài)參數(shù)。
也可以使用request
方法實(shí)現(xiàn)動(dòng)態(tài)參數(shù)傳遞。
# 也可以不傳參顯示動(dòng)態(tài)參數(shù) @app.route("/query_user") def query_user(): id = request.args.get('id') return "query_user: " + id
輸入網(wǎng)址時(shí)最后要加上?id=任意值,即可達(dá)到目的。
反路由通過(guò)視圖函數(shù)表現(xiàn)出url地址,需使用url_for方法指向一個(gè)url。
# 反向路由,通過(guò)視圖函數(shù)反導(dǎo)出url地址 @app.route("/query_url") def query_url(): return "query_url: " + url_for('query_user')
本質(zhì)是根據(jù)函數(shù)名反向生成url,使用函數(shù) url_for()
來(lái)針對(duì)一個(gè)特定的函數(shù)構(gòu)建一個(gè) URL。它能夠接受函數(shù)名作為第一參數(shù),以及一些關(guān)鍵字參數(shù), 每一個(gè)關(guān)鍵字參數(shù)對(duì)應(yīng)于 URL 規(guī)則的變量部分。未知變量部分被插入到 URL 中作為查詢參數(shù)。
這里用到了chrome瀏覽器的一個(gè)postman插件,具體安裝方法參考https://segmentfault.com/a/1190000008512891
希望本文所述對(duì)大家基于flask框架的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python3解決棋盤(pán)覆蓋問(wèn)題的方法示例
這篇文章主要介紹了Python3解決棋盤(pán)覆蓋問(wèn)題的方法,簡(jiǎn)單描述了棋盤(pán)覆蓋問(wèn)題的概念、原理及Python相關(guān)操作技巧,需要的朋友可以參考下2017-12-12詳解python讀取matlab數(shù)據(jù)(.mat文件)
本文主要介紹了python讀取matlab數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12Python中常見(jiàn)的反爬機(jī)制及其破解方法總結(jié)
今天給大家?guī)?lái)的文章是關(guān)于Python的相關(guān)知識(shí),文章圍繞著Python中常見(jiàn)的反爬機(jī)制及其破解方法展開(kāi),文中有非常詳細(xì)的介紹,需要的朋友可以參考下2021-06-06使用PyTorch實(shí)現(xiàn)去噪擴(kuò)散模型的完整代碼
在本文中,我們將深入研究DDPM的復(fù)雜性,涵蓋其訓(xùn)練過(guò)程,包括正向和逆向過(guò)程,并探索如何執(zhí)行采樣,在整個(gè)探索過(guò)程中,我們將使用PyTorch從頭開(kāi)始構(gòu)建DDPM,并完成其完整的訓(xùn)練,需要的朋友可以參考下2024-01-01TensorFlow實(shí)現(xiàn)checkpoint文件轉(zhuǎn)換為pb文件
今天小編就為大家分享一篇TensorFlow實(shí)現(xiàn)checkpoint文件轉(zhuǎn)換為pb文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02解決python3 urllib中urlopen報(bào)錯(cuò)的問(wèn)題
這篇文章主要介紹了關(guān)于解決python3 urllib中urlopen報(bào)錯(cuò)問(wèn)題的相關(guān)資料,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-03-03