W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
0.7 新版功能.
在路由系統(tǒng)中定義規(guī)則可以的方法可以概括為三種:
路由中的變量部分可以用尖括號指定( /user/<username>)。默認情況下,URL 中的變量部分接受任何不帶斜線的字符串,而 <converter:name> 也可以指定不 同的轉換器。
變量部分以關鍵字參數(shù)傳遞給視圖函數(shù)。
下面的轉換器是可用的:
string | 接受任何不帶斜線的字符串(默認的轉換器) |
int | 接受整數(shù) |
float | 同 int ,但是接受浮點數(shù) |
path | 和默認的相似,但也接受斜線 |
這里是一些例子:
@app.route('/')
def index():
pass
@app.route('/<username>')
def show_user(username):
pass
@app.route('/post/<int:post_id>')
def show_post(post_id):
pass
需要注意的一個重要細節(jié)是 Flask 處理結尾斜線的方式。你可以應用下面兩個 規(guī)則來保證 URL 的唯一:
這與 web 服務器處理靜態(tài)文件的方式一致。這使得安全地使用相對鏈接地址成為 可能。
你可以為同一個函數(shù)定義多個規(guī)則。無論如何,他們也要唯一。也可以給定默認值。 這里給出一個接受可選頁面的 URL 定義:
@app.route('/users/', defaults={'page': 1})
@app.route('/users/page/<int:page>')
def show_users(page):
pass
這指定了 /users/ 為第一頁的 URL ,/users/page/N 為第 N 頁的 URL 。
以下是 route() 和 add_url_rule() 接受的參數(shù)。兩者唯一的區(qū)別是,帶有路由參數(shù)的視圖函數(shù)用裝飾器定義,而不是 view_func 參數(shù)。
rule | URL 規(guī)則的字符串 |
endpoint | 注冊的 URL 規(guī)則的末端。如果沒有顯式地規(guī)定,F(xiàn)lask 本身假設 末端的名稱是視圖函數(shù)的名稱,。 |
view_func | 當請求呈遞到給定的末端時調(diào)用的函數(shù)。如果沒有提供,可以 在用在 view_functions 字典中以末端 作為鍵名存儲,來在之后設定函數(shù)。 |
defaults | 規(guī)則默認值的字典。上面的示例介紹了默認值如何工作。 |
subdomain | 當使用子域名匹配的時候,為子域名設定規(guī)則。如果沒有給定,假 定為默認的子域名。 |
**options | 這些選項會被推送給底層的 Rule 對象。一個 Werkzeug 的變化是 method 選項的處理。methods是 這個規(guī)則被限定的方法列表( GET , POST 等等)。默認情 況下,規(guī)則只監(jiān)聽 GET (也隱式地監(jiān)聽 HEAD )。從 Flask 0.6 開始,OPTIONS 也被隱式地加入,并且做標準的請求處理。 它們需要作為關鍵字參數(shù)來給定。 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: