在flask中自带的有很多路由转换类,但有时候自带的路由转换类无法完整的实现我们想要的功能,这时候我们可以自定义路由转换类,来实现自己想要的功能.
0,首先自定义的路由转换类需要继承自转换的基类
1,编写自己的路由类,实现自定义功能
2,将自定义的路由转换类添加到系统的路由列表中
这个自定义转换的路由类只能实现四位数字的匹配,不能实现我们想要什么就能匹配什么的功能,我们对其进行完善.
# -*- coding:utf-8 -*-
from flask import Flask, redirect, url_for
from werkzeug.routing import BaseConverter
class RegexConverter(BaseConverter):
"""实现外界传入什么正则,我就匹配什么条件"""
def __init__(self, url_map, *args):
super(RegexConverter, self).__init__(url_map)
self.regex = args[0]
# 机制:在匹配成功之后,MapAdapter执行匹配和调用视图函数,调用视图函数之前,可以得到要匹配的参数
# 作用:可以在这个方法中,对要匹配的参数进行进一步的处理,比如转换数据类型
def to_python(self, value):
value = int(value)
return value
# 需要搭配url_fo