W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
要給 URL 添加變量部分,你可以把這些特殊的字段標(biāo)記為 <variable_name> , 這個部分將會作為命名參數(shù)傳遞到你的函數(shù)。規(guī)則可以用 <converter:variable_name> 指定一個可選的轉(zhuǎn)換器。這里有一些不錯的例子:
@app.route('/user/<username>') def show_user_profile(username): # show the user profile for that user return 'User %s' % 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 'Post %d' % post_id
轉(zhuǎn)換器有下面幾種:
int | 接受整數(shù) |
float | 同 int ,但是接受浮點數(shù) |
path | 和默認(rèn)的相似,但也接受斜線 |
唯一 URL / 重定向行為
Flask 的 URL 規(guī)則基于 Werkzeug 的路由模塊。這個模塊背后的思想是基 于 Apache 以及更早的 HTTP 服務(wù)器主張的先例,保證優(yōu)雅且唯一的 URL。
以這兩個規(guī)則為例:
@app.route('/projects/')
def projects():
return 'The project page'
@app.route('/about')
def about():
return 'The about page'
雖然它們看起來著實相似,但它們結(jié)尾斜線的使用在 URL 定義 中不同。 第一種情況中,指向 projects 的規(guī)范 URL 尾端有一個斜線。這種感覺 很像在文件系統(tǒng)中的文件夾。訪問一個結(jié)尾不帶斜線的 URL 會被 Flask 重定向到帶斜線的規(guī)范 URL 去。
然而,第二種情況的 URL 結(jié)尾不帶斜線,類似 UNIX-like 系統(tǒng)下的文件的 路徑名。訪問結(jié)尾帶斜線的 URL 會產(chǎn)生一個 404 “Not Found” 錯誤。
這個行為使得在遺忘尾斜線時,允許關(guān)聯(lián)的 URL 接任工作,與 Apache 和其它的服務(wù)器的行為并無二異。此外,也保證了 URL 的唯一,有助于 避免搜索引擎索引同一個頁面兩次。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: