Python Flask自定義URL路由參數過濾器的方法詳解
簡單的例子
先看一個簡單的例子,GET請求需要傳遞一個參數,我們直接獲取的是字符串
from flask import Flask
app = Flask(__name__)
@app.get("/<value>")
def index(value):
return str(2 == value)
if __name__ == "__main__":
app.run()
手動類型轉換
需要獲取數值,需要進行類型轉換
from flask import Flask
app = Flask(__name__)
@app.get("/<value>")
def index(value):
# return str(2 == value)
return str(2 == int(value))
if __name__ == "__main__":
app.run()
GET http://127.0.0.1:5000/2 True
自動類型轉換
Flask提供了內置的類型過濾器,可以直接轉換成我們需要的類型,就不需要手動進行類型轉換了
from flask import Flask
app = Flask(__name__)
@app.get("/<int:value>")
def index(value):
# return str(2 == int(value))
return str(2 == value)
if __name__ == "__main__":
app.run()
GET http://127.0.0.1:5000/2 True
支持的過濾類型
string: 默認的數據類型,接收沒有任何斜杠"\ /"的字符串
int: 整型
float: 浮點型
path: 和string類型相似,但是接受斜杠,如:可以接受參數/aa/bb/cc/多條放在一起
uuid: 只接受uuid格式的字符串字符串,
自定義路由過濾器
繼承BaseConverter類,實現兩個轉換方法即可
from flask import Flask, url_for
from werkzeug.routing import BaseConverter
app = Flask(__name__)
# 定義轉換器
class ListConverter(BaseConverter):
def to_python(self, value):
"""解析url參數"""
return value.split(',')
def to_url(self, value):
"""轉為url參數"""
return ','.join(value)
# 注冊
app.url_map.converters['list'] = ListConverter
@app.get("/<list:value>")
def index(value):
print(url_for('index', value=['a', 'b', 'c']))
# 輸出:/a,b,c
return str(value)
if __name__ == "__main__":
app.run()
GET http://127.0.0.1:5000/1,2,3 ['1', '2', '3']
到此這篇關于Python Flask自定義URL路由參數過濾器的方法詳解的文章就介紹到這了,更多相關Flask自定義URL路由參數內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python結合Deepseek編寫一個PDF轉Word軟件
如今,在線工具的普及讓PDF轉Word成為了一個常見需求,本文將利用Python開發(fā)一款本地化的PDF批量轉換為Word的軟件,有需要的小伙伴可以參考下2025-02-02
window11系統(tǒng)下Python3.11安裝numpy庫超詳細教程
這篇文章主要給大家介紹了關于window11系統(tǒng)下Python3.11安裝numpy庫的相關資料,NumPy是Python的第三方擴展包,但它并沒有包含在Python標準庫中,因此您需要單獨安裝它,需要的朋友可以參考下2023-12-12

