您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何使用正則表達式匹配路由,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
具體實現步驟為:
導入轉換器基類:在 Flask 中,所有的路由的匹配規則都是使用轉換器對象進行記錄
自定義轉換器:自定義類繼承于轉換器基類
添加轉換器到默認的轉換器字典中
使用自定義轉換器實現自定義匹配規則
代碼實現
導入轉換器基類
from werkzeug.routing import BaseConverter
自定義轉換器
# 自定義正則轉換器 class RegexConverter(BaseConverter): def __init__(self, url_map, *args): super(RegexConverter, self).__init__(url_map) # 將接受的第1個參數當作匹配規則進行保存 self.regex = args[0]
添加轉換器到默認的轉換器字典中,并指定轉換器使用時名字為: re
app = Flask(__name__) # 將自定義轉換器添加到轉換器字典中,并指定轉換器使用時名字為: re app.url_map.converters['re'] = RegexConverter
使用轉換器去實現自定義匹配規則
當前此處定義的規則是:3位數字
@app.route('/user/<re("[0-9]{3}"):user_id>') def user_info(user_id): return "user_id 為 %s" % user_id
運行測試:http://127.0.0.1:5000/user/123 ,如果訪問的url不符合規則,會提示找不到頁面
系統自帶轉換器
DEFAULT_CONVERTERS = { 'default': UnicodeConverter, 'string': UnicodeConverter, 'any': AnyConverter, 'path': PathConverter, 'int': IntegerConverter, 'float': FloatConverter, 'uuid': UUIDConverter, }
上述內容就是如何使用正則表達式匹配路由,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。