Flask匹配url使用正則表達式


flask匹配url使用正則

需求:url=localhost/auth_id/?參數,當auth_id為4位隨機數時,導致web服務器反向代理找不到路徑,從而對authid進行正則匹配

實現方式:

  • 從wsgi服務類導入轉換器基類
    from werkzeug.routing import BaseConverter
  • 自定義正則轉換器類繼承於轉換器類
    def __init__(self, url_map, regex):
        super().__init__(map=url_map)
        self.regex = regex

    def to_python(self, value):
        return int(value)
  • 在app調用時添加這個類到轉換器字典中
    app.url_map.converters['re'] = RegexConverter
  • 在編寫路由時可以加入正則表達式
    @api_policy.route('/<re("[0-9]{4}"))/, methods=["POST"])
    實現了使用正則匹配url


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM