Python Flask 自定义转换器验证参数

复制代码
import typing as t

from flask import Flask
from werkzeug.routing import BaseConverter

app = Flask(__name__)


class RegexConverter(BaseConverter):
    def __init__(self, url_map, items):
        super(RegexConverter, self).__init__(url_map)
        self.regex = items

    def to_python(self, value: str) -> t.Any:
        print("to python called")
        return value


app.url_map.converters['re'] = RegexConverter


@app.route('/<re("1234"):value>', methods=['GET', "POST"])
def index(value):
    return f'<h1>hello{value} world</h1>'


if __name__ == '__main__':
    app.run(debug=True)

如果访问

符合的正则才有数据,否则就没有数据

比如定义手机号正则就可以

复制代码
@app.route('/<re("1\d{10}"):value>', methods=['GET', "POST"])
def index(value):
    return f'<h1>hello{value} world</h1>'

不符合规则就不行

相关推荐
优橙教育18 分钟前
5G网优培训 vs Java开发:转行选哪个?
java·开发语言·5g
想会飞的蒲公英1 小时前
计算机怎样读取中文文本:编码、清洗与标准化
人工智能·python·自然语言处理
SeaTunnel2 小时前
从 Python Script 地狱到标准化数据集成框架
大数据·开发语言·python·程序员·代码·seatunnel
深度研习笔记2 小时前
OpenCV工业视觉实战09|项目EXE打包+工控机无环境部署+后台常驻运行,彻底脱离Python环境,完成项目最终交付
python·opencv·webpack
碎光拾影2 小时前
ARM交叉工具链各工具作用及IMX6ULL平台LED+蜂鸣器裸机程序实现
java·开发语言·数据库
CCPC不拿奖不改名3 小时前
大模型推理架构与开源生态知识整理
数据库·windows·python·架构·langchain·开源·github
Marst Code3 小时前
(python)2026Plotly 库评估:交互式可视化到底值不值得引入?
开发语言·python
databook3 小时前
当散点图不够用时:用 t-SNE 可视化多维数据
python·数据分析·数据可视化
Miao121313 小时前
微服务 API 测试实践:海外某民宿平台如何构建模式驱动测试基础设施
java·开发语言
CRMEB系统商城4 小时前
开源自建还是SaaS订阅?算一笔3年经济账
java·大数据·开发语言·开源