flask框架路由常用定義方式總結

2022-10-04 16:45:17 字數 1795 閱讀 5989

路由的各種定義方式

請求方式限定

使用 jzrgevmethods 引數指定可接受的請求方式,可以是多種

@app.route('/',methods=jzrgev['get'])

def hello():

return ''

路由查詢方式

同一路由指向兩個不同的函式,在匹配過程中,至上而下依次匹配

@app.route('/')

def hello():

return ''

@app.route('/')

def hello_2017():

return 程式設計客棧''

所以上面路由 / 輸出的結果為 hello 函式的結果

給路由傳參示例

有時我們需要將同一類url對映到同乙個檢視函式處理,比如:使用同乙個檢視函式 來顯示不同使用者的個人資訊。

路由傳遞的引數預設當做string處理,這裡指定int,尖括號中的內容是動態的,也可不指定型別

@app.route('/user/')

def hello_itheima(id):

return 'hello itcast %d' %id

重定向redirect示例

from flask import redirect

@app.route('/')

def hello_itheima():

return redirect('')

返回json

from flask import flask,json

@app.route('/json')

def do_json():

hello =

return json.dumps(hello)

返回狀態碼示例

在 python 中返回狀態碼有兩種方式實現:

- 直接return 

- 可以自定義返回狀態碼,可以實現不符合http協議的狀態碼,例如:error=666,errmsg='查詢資料庫異常',其作用是為了實現前後端資料互動的方便

- abort方法

- 只會丟擲符合http協議的異常狀態碼,用於手動丟擲異常

@app.route('/')

def hello_itheima():

return 'hello itcast',666

正則路由示例

在web開發中,可能會出現限制使用者訪問規則的場景,那麼這個時候就需要用到正則匹配,限制訪問,優化訪問

匯入轉換器包

from werkzeug.routing import baseconverter

自定義轉換器並實現

# 自定義轉換器

class regex_url(baseconverter):

def __init__(self,url_map,*args):

super(regex_url,self).__init__(url_map)

self.regex = args[0]

app = flask(__name__)

# 將自定義轉換器類新增到轉換器字典中

app.url_map.converters['re'] = regex_url

@app.route('/user/')

def hello_itheima(id):

return 'hello %s' %id

自帶幾種轉換器

default_converters =

本文標題: flask框架路由常用定義方式總結

本文位址: /jiaoben/python/266389.html

flask框架 路由

1.利用methods限制訪問方式 render template 返回頁面 request 一切瀏覽器請求的內容都封裝到request物件中 request.method 來判斷訪問方式 method 設定請求訪問方式 from flask import flask,render template...

flask框架 自定義路由轉換器

from flask import flask,request from werkzeug.routing import baseconverter 需求 127.0.0.1 5000 mobile 18511112222 自定義轉換器類 思路 1.自定義轉換器類,繼承於 baseconverter...

Flask框架 url路由,Templates模板

python web 框架 靜態網頁 無法與伺服器做動態互動的網頁。動態網頁 允許與伺服器動態互動的網頁。網頁 html,css,js 能夠給使用者提供服務的機器就稱為 伺服器 硬體 與 軟體 硬體 一台計算機可以理解為一台伺服器 軟體 乙個能夠結束使用者請求並給出響應的程式也可理解為伺服器 apa...