1、举例说明
比如这样一个url,用来按名字查询电影:
http://wowdata.top/movie/name/复仇者联盟
Flask对应的router是:/movie/name/<moviename>
问题来了:
如果用户查询的名称里面带着/,比如http://wowdata.top/movie/name/复仇者联盟/2019
那上面的router就匹配不上了,可以写成:/movie/name/<path:moviename>
这样就可以得到 moviename=复仇者联盟/2019,然后再做处理就行了
2、多层URL
上面的应用实际上只是为了解决貌似是多层url的问题,还有一种场景是真的多级url,比如简书的图片地址,可以看到后面的/w/1240,这里实际上相当于?w=1240,但是这个参数并不是必传的,如果不用path的方式,就需要定义多个路由,采用path的方式只需要定义一个/upload_images/<path:subpath>就可以了
https://img.haomeiwen.com/i8179604/af71930caaa912af.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
这一招在伪原创里面很有用
3、其他类型参数
参数支持这些类型的值,用path或者any应该都是可以的
image.png
4、你懂的
觉得有用就关注一波吧
老胡的公众号,关注一波吧
网友评论