url传参可以限定参数的数据类型,例如:限定user_id数据类型为int
@app.route('/user/<int:user_id>') def my_list(user_id): return '您输入的user_id为:{}'.format(user_id)
当我们传递的参数不是int类型的时候,页面访问该url就会返回404错误,我们可以来看下flask是如何定义这些数据类型的
首先导入BaseConverter
from werkzeug.routing import BaseConverter
按住ctrl用户鼠标点击BaseConverter进去查看源码,可以发现BaseConverter是一个基类,下面很多子类继承了它,这些子类是
UnicodeConverter
AnyConverter
PathConverter
NumberConverter
IntegerConverter
FloatConverter
UUIDConverter
往下看,可以看出这些都是默认的数据类型
#: the default converter mapping for the map. DEFAULT_CONVERTERS = { 'default': UnicodeConverter, 'string': UnicodeConverter, 'any': AnyConverter, 'path': PathConverter, 'int': IntegerConverter, 'float': FloatConverter, 'uuid': UUIDConverter, }