在通常我们写路由的时候都是这样子的:@app.route("/")def hello(): return “Hello World"但是我们会有这样的需求,判断字符串的类型或长度来决定使用哪个视图函数或者返回404,那我们就可以这样做:@app.route("/int:requirt>")def fn_int(requirt): return “<h1>"+str(requirt)+"</h1>” #http://127.0.0.1:5000/123 返回”<h1>123</h1>"#http://127.0.0.1:5000/12 发生404错误@app.route("/<float:requirt>")def fn_float(requirt): return “<h1>"+str(requirt)+"</h1>” #http://127.0.0.1:5000/1.2 返回"<h1>1.2</h1>"#http://127.0.0.1:5000/12 发生404错误@app.route_path("/<requirt>")def fn(requirt): return “<h1>"+requirt+"</h1>” #http://127.0.0.1:5000/1.2 返回"<h1>1.2</h1>"#http://127.0.0.1:5000/12 返回<h1>12</h1>#http://127.0.0.1:5000/hello 返回<h1>hello</h1>上面写了常用的三种动态路由限制类型,当然我们还可以自定义类型,继承BaseConverter,然后就可以写我们的规则了from werkzeug.routing import BaseConverterclass MyConverter(BaseConverter): def init(self,map,regex): super().init(map) self.regex=regex app.url_map.converters[‘rule’]=MyConverter@app.route_path("/<rule("\w{3}"):requirt>")def fn_rule(requirt): return “<h1>"+requirt+"</h1>"#http://127.0.0.1:5000/hello 发生404#http://127.0.0.1:5000/123 返回”<h1>123</h1>"#http://127.0.0.1:5000/12.3 发生404