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>'

不符合规则就不行

相关推荐
gCode Teacher 格码致知37 分钟前
Python基础教学:Python 3中的字符串在解释运行时的内存编码表示-由Deepseek产生
python·内存编码
世转神风-1 小时前
qt-kits-警告:No C++ compiler,无法正常解析工程项目.pro文件
开发语言·c++
翔云 OCR API1 小时前
承兑汇票识别接口技术解析与应用实践
开发语言·人工智能·python·计算机视觉·ocr
元周民1 小时前
matlab求两个具有共根的多项式的所有共根(未详细验证)
开发语言·matlab
不忘不弃1 小时前
十进制数转换为二进制数
开发语言
likerhood1 小时前
3. pytorch中数据集加载和处理
人工智能·pytorch·python
Data_agent2 小时前
京东图片搜索商品API,json数据返回
数据库·python·json
深盾科技2 小时前
融合C++与Python:兼顾开发效率与运行性能
java·c++·python
csbysj20202 小时前
jQuery Mobile 触摸事件
开发语言
代码村新手2 小时前
C++-入门
开发语言·c++