1.定义类,继承自BaseConverter
2.重写init方法
3.初始化父类成员变量,还有子类自己的规则
4.将转换器类,添加到系统默认的转换器列表中
from flask import Flask from werkzeug.routing import BaseConverter # 导入类 app = Flask(__name__) # 1.定义类,继承自BaseConverter class MyRegexConverter(BaseConverter): # 2.重写init方法,接收两个参数 def __init__(self, map, regex): # 3.初始化父类成员变量,还有子类自己的规则 super(MyRegexConverter, self).__init__(map) self.regex = regex # 4.将转换器类,添加到系统默认的转换器列表中 app.url_map.converters['wdc'] = MyRegexConverter # 三位整数 @app.route('/<wdc("d{3}"):num>') def hello_world(num): return f'这一个数是{num}' # 四位整数 @app.route('/<wdc("d{4}"):num>') def hello_world_1(num): return f'这一个数是{num}' # 手机号 @app.route('/<wdc("1[3-9]d{9}"):num>') def hello_world_2(num): return f'这是一个手机号{num}' if __name__ == '__main__': app.run(debug=True)