关于flask自定义BaseConverter参数校验的踩坑记录
from flask import Flask from werkzeug.routing import BaseConverter app = Flask(__name__) class GoodsIdConverter(BaseConverter): def __init__(self, url_map): super(GoodsIdConverter, self).__init__(url_map) self.regex = r'[1-9]{2}'
# self.regex = r'/[1-9]{2}/'
app.url_map.converters['asd'] = GoodsIdConverter @app.route('/goods_list/<asd:goods_id>') def home(goods_id): return 'hello world %s' % goods_id if __name__ == '__main__': app.run(debug=True)
关于这次踩坑做一个总结:
因为我工作一直都是在搞前端, 所以关于正则表达式, 习惯性的加上了两个斜杠 /[0-9]{2}/
在这个地方, 如果加上了斜杠, 是永远匹配不到正确的东西的
本想把生活活成一首诗, 时而优雅 , 时而豪放 , 结果活成了一首歌 , 时而不靠谱 , 时而不着调