国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Regex > 正文

正則表達(dá)式匹配路由的實(shí)現(xiàn)代碼

2020-03-16 20:51:14
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在 web 開發(fā)中,可能會(huì)出現(xiàn)限制用戶訪問(wèn)規(guī)則的場(chǎng)景,那么這個(gè)時(shí)候就需要用到正則匹配,根據(jù)自己的規(guī)則去限定請(qǐng)求參數(shù)再進(jìn)行訪問(wèn)

具體實(shí)現(xiàn)步驟為:

  • 導(dǎo)入轉(zhuǎn)換器基類:在 Flask 中,所有的路由的匹配規(guī)則都是使用轉(zhuǎn)換器對(duì)象進(jìn)行記錄
  • 自定義轉(zhuǎn)換器:自定義類繼承于轉(zhuǎn)換器基類
  • 添加轉(zhuǎn)換器到默認(rèn)的轉(zhuǎn)換器字典中
  • 使用自定義轉(zhuǎn)換器實(shí)現(xiàn)自定義匹配規(guī)則

代碼實(shí)現(xiàn)

導(dǎo)入轉(zhuǎn)換器基類

from werkzeug.routing import BaseConverter

自定義轉(zhuǎn)換器

# 自定義正則轉(zhuǎn)換器class RegexConverter(BaseConverter):  def __init__(self, url_map, *args):    super(RegexConverter, self).__init__(url_map)    # 將接受的第1個(gè)參數(shù)當(dāng)作匹配規(guī)則進(jìn)行保存    self.regex = args[0]

添加轉(zhuǎn)換器到默認(rèn)的轉(zhuǎn)換器字典中,并指定轉(zhuǎn)換器使用時(shí)名字為: re

app = Flask(__name__)# 將自定義轉(zhuǎn)換器添加到轉(zhuǎn)換器字典中,并指定轉(zhuǎn)換器使用時(shí)名字為: reapp.url_map.converters['re'] = RegexConverter

使用轉(zhuǎn)換器去實(shí)現(xiàn)自定義匹配規(guī)則

當(dāng)前此處定義的規(guī)則是:3位數(shù)字

@app.route('/user/<re("[0-9]{3}"):user_id>')def user_info(user_id):  return "user_id 為 %s" % user_id

  運(yùn)行測(cè)試:http://127.0.0.1:5000/user/123 ,如果訪問(wèn)的url不符合規(guī)則,會(huì)提示找不到頁(yè)面

系統(tǒng)自帶轉(zhuǎn)換器

DEFAULT_CONVERTERS = {  'default':     UnicodeConverter,  'string':      UnicodeConverter,  'any':       AnyConverter,  'path':       PathConverter,  'int':       IntegerConverter,  'float':      FloatConverter,  'uuid':       UUIDConverter,}

系統(tǒng)自帶的轉(zhuǎn)換器具體使用方式在每種轉(zhuǎn)換器的注釋代碼中有寫,要注意每種轉(zhuǎn)換器初始化的參數(shù)。

總結(jié)

以上所述是小編給大家介紹的正則表達(dá)式匹配路由的實(shí)現(xiàn)代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)VEVB武林網(wǎng)網(wǎng)站的支持!


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到正則表達(dá)式頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 上蔡县| 梁平县| 扎赉特旗| 封开县| 尉氏县| 东城区| 于都县| 应城市| 灵山县| 株洲市| 巢湖市| 阳泉市| 柳江县| 宁海县| 准格尔旗| 肥乡县| 青铜峡市| 蓝山县| 台南市| 周宁县| 塘沽区| 额敏县| 绥滨县| 太康县| 离岛区| 兴隆县| 迁安市| 盐边县| 唐河县| 天长市| 姜堰市| 来安县| 册亨县| 麻城市| 临洮县| 遂昌县| 南安市| 深水埗区| 永昌县| 白水县| 城固县|