Flask 的路由设置
设置Flask的匹配规则 ,route中默认指定的路径
@app.route("/") def hello_flask(): return "hello1, flask"
自定义路由匹配转换器
from werkzeug.routing import BaseConverter
自定义转换器
# 自定义正则转换器 class RegexConverter(BaseConverter): regex = "[0-9]{6}" # 添加转换器到默认的转换器字典中,指定转换器适用面名为:re app.url_map.converters['re'] = RegexConverter # 使用转换器去实现自定义的匹配规则 @app.route("/user/<re:user_id>") def user_info(user_id): return "user_id为:%s" % user_id
自定义转换器升级版本
class RegexConverter(BaseConverter): # 底层的BaseConverter需要一个map参数,*args则是获取路由中传来的正则表达式 def __init__(self, url_map, *args): super().__init__(url_map) # 获取到的map还是交给父类去处理 self.regex = args[0] # 将接受的第1个参数当作匹配规则进行保存 # 将自定义转换器添加到转换器字典中,并指定转换器使用时名字为: re app.url_map.converters['re'] = RegexConverter # 路由传递参数 在路由中加入匹配规则 @app.route("/user/<re('[0-9]{4}'):user_id>") def user_info(user_id): return "user_id为:%s" % user_id

浙公网安备 33010602011771号