0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Flask兩種配置路由的方式說明

PLC工控專欄 ? 來源:PLC工控專欄 ? 作者:PLC工控專欄 ? 2022-05-31 08:43 ? 次閱讀

加工中心解鎖面板 Flask提供了兩種方式配置路由,第一種方式是使用裝飾器@app.route(uri, methods)的方式,其中uri是指具體的路徑,methods是一個列表,值得是可以處理的請求類型如GET、POST等。

第二種方式是通過Flask實例調(diào)用add_url_rule函數(shù)配置

app.add_url_rule(uri, uri_alias, view)
復(fù)制代碼

該函數(shù)的參數(shù)中uri是指具體的uri地址,uri_alias是指uri的別名,view是指對應(yīng)的視圖函數(shù)的名字

使用第二種方式配置路由

# 其余代碼不變
@app.route('/')
def index():
    info = {
        'message': "這是存在message變量中的信息"
    }
    return render_template('index.html', info=info)
    
# 使用第二種方式給index()視圖函數(shù)配置路由
app.add_url_rule('/index', 'index', index)
復(fù)制代碼

"/"和"/index"都可以映射到index()視圖函數(shù)上

路徑參數(shù)設(shè)置和獲取

URL路徑中可以進行參數(shù)的傳遞,F(xiàn)lask中URL參數(shù)的類型

  • string:接收任何不包含斜杠的問題本
  • int:接收正整數(shù)
  • float:接收浮點數(shù)
  • path:類似string,但可以包含斜杠
  • uuid:接收uuid字符串

在app.py中定義一個視圖函數(shù)

@app.route('/page/')
def list(page_number):
    return '這是第{}頁用戶'.format(page_number)
復(fù)制代碼

重啟應(yīng)用,訪問 http://127.0.0.1:5000/page/100

定義路徑中的參數(shù)時要定義參數(shù)的名字以及類型,書寫視圖函數(shù)時要將參數(shù)的名字作為視圖函數(shù)的參數(shù),這可以就可以通過參數(shù)名直接獲取到URL傳遞的參數(shù)的值

如果參數(shù)是非必填的可以設(shè)置參數(shù)的默認(rèn)值

@app.route('/page/')
@app.route('/page/')
def list(page_number=1):
    return '這是第{}頁用戶'.format(page_number)
復(fù)制代碼

重啟應(yīng)用,訪問 http://127.0.0.1:5000/page/

url_map 屬性

Flask實例的url_map屬性包含了所有的視圖函數(shù)以及對應(yīng)的URL地址

image.png

Flask 請求

上下文對象context,類似容器,存儲了一些關(guān)鍵信息

  • 應(yīng)用上下文
  • 請求上下文
  • 在分派請求之前激活應(yīng)用上下文和請求上下文
  • 請求處理完之后將其刪除

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 路由
    +關(guān)注

    關(guān)注

    0

    文章

    273

    瀏覽量

    41637
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4238

    瀏覽量

    61978
  • flask
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    3599
收藏 人收藏

    評論

    相關(guān)推薦

    接地保護分為哪兩種方式

    接地保護是電氣工程中非常重要的一安全措施,其目的是確保電氣設(shè)備和系統(tǒng)在發(fā)生故障時能夠安全地將電流導(dǎo)向地面,從而保護人身安全和設(shè)備安全。接地保護主要分為兩種方式:工作接地和保護接地。以下是對這
    的頭像 發(fā)表于 08-05 10:24 ?471次閱讀

    wdm設(shè)備的兩種傳輸方式

    系統(tǒng)中,有多種傳輸方式,其中最常見的兩種是密集波分復(fù)用(DWDM)和粗波分復(fù)用(CWDM)。 1. 密集波分復(fù)用(DWDM) 1.1 DWDM技術(shù)原理 密集波分復(fù)用(Dense Wavelength Division Multiplexing,簡稱DWDM)是一
    的頭像 發(fā)表于 07-18 09:45 ?212次閱讀

    PCBA加工中常見的兩種焊接方式詳解

    ,在PCBA行業(yè)中經(jīng)常被使用。接下來深圳PCBA加工廠家為大家詳細(xì)介紹PCBA加工手工焊接的兩種方式,為您揭秘行業(yè)內(nèi)的技術(shù)細(xì)節(jié)。 PCBA加工過程中常用焊接方式 第一
    的頭像 發(fā)表于 06-14 09:18 ?352次閱讀

    異或門兩種常見的實現(xiàn)方式

    兩種實現(xiàn)方式都能夠?qū)崿F(xiàn)異或門的功能,具體的選擇取決于設(shè)計需求和邏輯門的可用性。實際構(gòu)建異或門時,可以使用離散電子元件(如晶體管、二極管等)或整合電路芯片(如 TTL、CMOS 等)來實現(xiàn)。
    的頭像 發(fā)表于 02-04 17:30 ?9045次閱讀
    異或門<b class='flag-5'>兩種</b>常見的實現(xiàn)<b class='flag-5'>方式</b>

    外部中斷有哪兩種觸發(fā)方式?如何選擇和設(shè)定?

    外部中斷有兩種觸發(fā)方式:電平觸發(fā)和邊沿觸發(fā)** 。
    的頭像 發(fā)表于 01-28 17:31 ?4744次閱讀
    外部中斷有哪<b class='flag-5'>兩種</b>觸發(fā)<b class='flag-5'>方式</b>?如何選擇和設(shè)定?

    配置Kubernetes中Pod使用代理的兩種常見方式

    的需要。本文將介紹配置Kubernetes中Pod使用代理的兩種常見方式:通過ConfigMap和直接在應(yīng)用程序環(huán)境變量中設(shè)置。
    的頭像 發(fā)表于 01-05 11:22 ?915次閱讀
    <b class='flag-5'>配置</b>Kubernetes中Pod使用代理的<b class='flag-5'>兩種</b>常見<b class='flag-5'>方式</b>

    租用和托管是兩種主要的服務(wù)器使用方式

    租用和托管是兩種主要的服務(wù)器使用方式。租用是由服務(wù)提供商提供硬件,負(fù)責(zé)基本軟件的安裝、環(huán)境配置,確保服務(wù)器上基本服務(wù)功能的正常運行。而托管則是由用戶自行購買服務(wù)器,并將其放置在數(shù)據(jù)中心中,由數(shù)據(jù)中心提供電力、網(wǎng)絡(luò)等基礎(chǔ)設(shè)施,以及
    的頭像 發(fā)表于 12-13 09:33 ?346次閱讀

    redis兩種持久化方式的區(qū)別

    的完整性和一致性。 Redis提供了兩種持久化方式:RDB(Redis Database)和AOF(Append Only File)。這兩種方式各有優(yōu)劣,下面我們將詳細(xì)介紹它們的區(qū)別
    的頭像 發(fā)表于 12-04 11:12 ?430次閱讀

    三相交流負(fù)載常見的兩種連接方式

    三相交流負(fù)載常見的兩種連接方式? 三相交流電負(fù)載是現(xiàn)代電力系統(tǒng)中常見的一供電方式,它能夠提供比單相交流更穩(wěn)定和高效的電力供應(yīng)。在三相交流負(fù)載中,有
    的頭像 發(fā)表于 11-13 16:09 ?2139次閱讀

    malloc 申請內(nèi)存的兩種方式

    我們知道m(xù)alloc() 并不是系統(tǒng)調(diào)用,也不是運算符,而是 C 庫里的函數(shù),用于動態(tài)分配內(nèi)存。 malloc 申請內(nèi)存的時候,會有兩種方式向操作系統(tǒng)申請堆內(nèi)存: 方式一:通過 brk() 系統(tǒng)調(diào)用
    的頭像 發(fā)表于 11-13 11:42 ?2218次閱讀
    malloc 申請內(nèi)存的<b class='flag-5'>兩種</b><b class='flag-5'>方式</b>

    sqlite數(shù)據(jù)插入的兩種方式比較

    sqlite工具包提供兩種數(shù)據(jù)插入方式,全部使用Execute SQL(Ploy)函數(shù)
    的頭像 發(fā)表于 11-13 09:33 ?943次閱讀

    串口接收數(shù)據(jù)的兩種方式是什么

    上方是發(fā)送數(shù)據(jù)的例子,那么串口接收又該如何配置,又要在串口發(fā)送的例子上做哪些更改呢? 這里我們可以通過查詢或者中斷的方式來進行接收數(shù)據(jù)的兩種方式。 查詢
    的頭像 發(fā)表于 11-10 16:20 ?1943次閱讀
    串口接收數(shù)據(jù)的<b class='flag-5'>兩種</b><b class='flag-5'>方式</b>是什么

    新能源汽車散熱主要的兩種方式介紹

    新能源汽車的散熱單元主要有動力電池和驅(qū)動電機及電控系統(tǒng)。從傳統(tǒng)發(fā)動機散熱技術(shù)和新能源汽車散熱實際應(yīng)用效果看,水冷和風(fēng)冷是新能源汽車散熱最主要的兩種方式。
    發(fā)表于 11-08 09:44 ?845次閱讀

    語音芯片KT142C兩種音頻輸出方式PWM和DAC的區(qū)別

    一般的語音芯片,輸出方式,無外乎兩種,即dac輸出,或者PWM輸出
    的頭像 發(fā)表于 10-21 11:43 ?739次閱讀
    語音芯片KT142C<b class='flag-5'>兩種</b>音頻輸出<b class='flag-5'>方式</b>PWM和DAC的區(qū)別

    靜態(tài)路由是什么?靜態(tài)路由如何配置?

    靜態(tài)路由是一路由方式,路由項由手動配置,而非動態(tài)決定。與動態(tài)
    的頭像 發(fā)表于 10-07 10:48 ?1.8w次閱讀
    靜態(tài)<b class='flag-5'>路由</b>是什么?靜態(tài)<b class='flag-5'>路由</b>如何<b class='flag-5'>配置</b>?