1.简单的路由配置
在“<>”里指定变量,如果指定变量类型则需要使用<变量类型:变量>的形式,methods用于指定数据提交方式,默认是get方法
指定类型
@app.route('/<int:userid>',methods=[‘post’])#int指定类型
def name1(userid):
return userid
不指定类型
@app.route('/<username>')
def name2(username):
return username
2.由于flask中没有直接的正则匹配,我们如果需要正则匹配,需要自己写。
先来认识一下转换器,下面是默认的转换器:
在路由的配置中,上述的例子int实际上调用的是IntegerConverter转换器,因此,需要正则匹配的话,我们需要一个正则的转换器。
class MyCover(BaseConverter):
def __init__(self,parm1,*args):
super().__init__(parm1)
self.regex = args[0]
注意点:
1.继承于Baseconverter
2.需要额外的参数,用来承接将来需要书写的正则
3.用regex来重新赋值
#将自定义的转换器加入到转换器字典中
app.url_map.converters['re'] = MyCover
使用:写一个路由用于匹配所有的字符
@app.route('/<re("[\w]+"):name>')
def showinfo(name):
return '这是自定义的转换器应用'