在我之前写关于flask路由设置的时候使用过转换器,简单来说就是约束前端路由传递参数的类型。
@app.route('/index/<int:user_id>',methods=['GET'])
def index(user_id):
print(user_id)
return 'hello flask'
flask自带一些常用的转换器,有五种:
但是有时候,我们有特殊类型的参数需要传递,这时就需要自定义转换器。具体步骤如下。
class MyConverter(BaseConverter):
def __init__(self,param,*args):
super().__init__(param)
self.regex = args[0]
注意:
1继承于baseconvert
2需要额外参数承接写的正则
3regex重新赋值
自定义转换器加入到默认的转换器字典中
app.url_map.converters['re'] = MyConverter
使用自定义的转换器
@app.route('/<re("\w+"):name>')
def showinfo():
return '自定义的转换器运用'