欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python的Flask框架路由實(shí)現(xiàn)詳解

 更新時(shí)間:2023年08月09日 10:18:48   作者:晚風(fēng)吹兒  
這篇文章主要介紹了Python的Flask框架路由實(shí)現(xiàn)詳解,在啟動(dòng)程序時(shí),python解釋器會(huì)從上到下對(duì)代碼進(jìn)行解釋,當(dāng)遇到裝飾器時(shí),會(huì)執(zhí)行,并把函數(shù)對(duì)應(yīng)的路由以字典的形式進(jìn)行存儲(chǔ),當(dāng)請(qǐng)求到來時(shí),即可根據(jù)路由查找對(duì)應(yīng)要執(zhí)行的函數(shù)方法,需要的朋友可以參考下

一、路由

通過URL訪問一個(gè)網(wǎng)頁(yè),使用 route() 裝飾器把函數(shù)綁定到 URL

使用 route() 裝飾器把函數(shù)綁定URL示例:

from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
    return 'Index Page'
@app.route('/hello')
def hello():
    return 'Hello, World'
if __name__ == '__main__':
    app.run()

運(yùn)行flask后,可打開本地路徑進(jìn)行訪問

訪問路徑://127.0.0.1:5000/

在這里插入圖片描述

訪問路徑://127.0.0.1:5000/hello

在這里插入圖片描述

二、URL變量

1、變量規(guī)則

通過把 URL 的一部分標(biāo)記為 <variable_name> 就可以在 URL 中添加變量。標(biāo)記的部分會(huì)作為關(guān)鍵字參數(shù)傳遞給函數(shù)。通過使用 converter:variable_name ,可以選擇性的加上一個(gè)轉(zhuǎn)換器,為變量指定規(guī)則

from markupsafe import escape
from flask import Flask
app = Flask(__name__)
@app.route('/user/<username>')
def show_user_profile(username):
    # show the user profile for that user
    return f'User {escape(username)}'
@app.route('/post/<int:post_id>')
def show_post(post_id):
    # show the post with the given id, the id is an integer
    return f'Post {post_id}'
@app.route('/path/<path:subpath>')
def show_subpath(subpath):
    # show the subpath after /path/
    return f'Subpath {escape(subpath)}'
if __name__ == '__main__':
    app.run()

url支持的變量類型:

類型說明
string(缺省值) 接受任何不包含斜杠的文本
int接受正整數(shù)
float接受浮點(diǎn)數(shù)
path類似 string ,但可以包含斜杠
uuid接受 UUID 字符串

訪問路徑//127.0.0.1:5000/user/盤盤

在這里插入圖片描述

2、唯一的 URL / 重定向行為

代碼如下(示例):

@app.route('/projects/')
def projects():
    return 'The project page'
@app.route('/about')
def about():
    return 'The about page'

projects 的 URL 是中規(guī)中矩的,尾部有一個(gè)斜杠,看起來就如同一個(gè)文件夾。訪問一個(gè)沒有斜杠結(jié)尾的 URL ( /projects )時(shí) Flask 會(huì)自動(dòng)進(jìn)行重定向,自動(dòng)在尾部加上一個(gè)斜杠( /projects/ )

about 的 URL 沒有尾部斜杠,因此其行為表現(xiàn)與一個(gè)文件類似。如果訪問這個(gè) URL 時(shí)添加了尾部斜杠( /about/ )就會(huì)得到一個(gè) 404 “未找到” 錯(cuò)誤。這樣可以保持 URL 唯一,并有助于搜索引擎重復(fù)索引同一頁(yè)面

3、URL 構(gòu)建

url_for() 函數(shù)用于構(gòu)建指定函數(shù)的 URL。 它把函數(shù)名稱作為第一個(gè) 參數(shù)。它可以接受任意個(gè)關(guān)鍵字參數(shù),每個(gè)關(guān)鍵字參數(shù)對(duì)應(yīng) URL 中的變量

from flask import url_for
app = Flask(__name__)
@app.route('/')
def index():
    return 'index'
@app.route('/login')
def login():
    return 'login'
@app.route('/user/<username>')
def profile(username):
    return f'{username}\'s profile'
with app.test_request_context():
    print(url_for('index'))
    print(url_for('login'))
    print(url_for('login', next='/'))
    print(url_for('profile', username='John Doe'))

輸出: 

/
/login
/login?next=/
/user/John%20Doe

到此這篇關(guān)于Python的Flask框架路由實(shí)現(xiàn)詳解的文章就介紹到這了,更多相關(guān)Flask 路由內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python中實(shí)現(xiàn)json數(shù)據(jù)和類對(duì)象相互轉(zhuǎn)化的四種方式

    python中實(shí)現(xiàn)json數(shù)據(jù)和類對(duì)象相互轉(zhuǎn)化的四種方式

    在日常的軟件測(cè)試過程中,測(cè)試數(shù)據(jù)的構(gòu)造是一個(gè)占比非常大的活動(dòng),對(duì)于測(cè)試數(shù)據(jù)的構(gòu)造,分為結(jié)構(gòu)化的數(shù)據(jù)構(gòu)造方式和非結(jié)構(gòu)化的數(shù)據(jù)構(gòu)造方式,此篇文章,會(huì)通過4種方式來展示json數(shù)據(jù)與python的類對(duì)象相互轉(zhuǎn)化,需要的朋友可以參考下
    2024-07-07
  • python 5個(gè)實(shí)用的技巧

    python 5個(gè)實(shí)用的技巧

    這篇文章主要介紹了python 5個(gè)實(shí)用的技巧,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-09-09
  • Python實(shí)現(xiàn)從線程獲取返回值

    Python實(shí)現(xiàn)從線程獲取返回值

    本文介紹了Python中線程的概念、創(chuàng)建線程的方法和在線程中獲取函數(shù)返回值的技巧,線程作為進(jìn)程中的執(zhí)行單元,可以實(shí)現(xiàn)程序的并發(fā)運(yùn)行,文章通過示例代碼展示了如何在Python中使用Thread類創(chuàng)建線程,并講解了在線程中傳遞參數(shù)和獲取返回值的方法
    2024-09-09
  • 用python介紹4種常用的單鏈表翻轉(zhuǎn)的方法小結(jié)

    用python介紹4種常用的單鏈表翻轉(zhuǎn)的方法小結(jié)

    這篇文章主要介紹了用python介紹4種常用的單鏈表翻轉(zhuǎn)的方法小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Python通過psd-tools解析PSD文件

    Python通過psd-tools解析PSD文件

    這篇文章主要介紹了Python通過psd-tools解析PSD文件,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-06-06
  • Python實(shí)現(xiàn)對(duì)象轉(zhuǎn)換為xml的方法示例

    Python實(shí)現(xiàn)對(duì)象轉(zhuǎn)換為xml的方法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)對(duì)象轉(zhuǎn)換為xml的方法,結(jié)合實(shí)例形式分析了Python對(duì)象屬性、節(jié)點(diǎn)的操作及與xml相互轉(zhuǎn)換的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-06-06
  • 以windows service方式運(yùn)行Python程序的方法

    以windows service方式運(yùn)行Python程序的方法

    這篇文章主要介紹了以windows service方式運(yùn)行Python程序的方法,可實(shí)現(xiàn)將Python程序變成windows服務(wù)的功能,需要的朋友可以參考下
    2015-06-06
  • Python根據(jù)過濾器拆分列表

    Python根據(jù)過濾器拆分列表

    這篇文章主要介紹了Python根據(jù)過濾器拆分列表,利用Python代碼實(shí)現(xiàn)代通過過濾器拆分列表的功能。文章圍繞其相關(guān)資料展開詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2021-11-11
  • Django+Celery實(shí)現(xiàn)動(dòng)態(tài)配置定時(shí)任務(wù)的方法示例

    Django+Celery實(shí)現(xiàn)動(dòng)態(tài)配置定時(shí)任務(wù)的方法示例

    這篇文章主要介紹了Django + Celery 實(shí)現(xiàn)動(dòng)態(tài)配置定時(shí)任務(wù)的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Python圖片視頻超分模型RealBasicVSR的使用教程

    Python圖片視頻超分模型RealBasicVSR的使用教程

    這篇文章主要和大家分享一個(gè)有意思的模型:RealBasicVSR。這個(gè)模型可以實(shí)現(xiàn)圖片或視頻的超分處理,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-05-05

最新評(píng)論