Flask自带的匹配器可以说有四种
- 动态路由本身,可以传任何参数字符串或者数字,如:
- 只能传整形数字,如:int:user_id
- 只能传浮点型数字,如:float:num
- 只能传path路径,如:path:url
以往的:
from flask import Flask
app = Flask(__name__)
@app.route('/user/<int:user_id>'
def user(user_id):
return 'Hello,%d' %user_id
if __name__ == '__main__':
app.run(debug=True)
开始自定义:
from flask import Flask
from werkzeug.routing import BaseConverter
#定义正则转换器的类
class RegexConverter(BaseConverter):
def __init__(self,url_map,*items):
super(RegexConverter, self).__init__(url_map)
self.regex=items[0]
app = Flask(__name__)
app.url_map.converters['regex']=RegexConverter
@app.route('/user/<regex("(1[3578]\d+){9}"):phone>', methods=['POST', 'GET'])
def user(phon