亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

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

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

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

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

    代碼實現(xiàn)

    導入轉(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個參數(shù)當作匹配規(guī)則進行保存      self.regex = args[0]

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

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

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

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

      @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不符合規(guī)則,會提示找不到頁面

    系統(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é)

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

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號