美文网首页Flask
Flask怎么接收多层url

Flask怎么接收多层url

作者: 老胡聊聊天 | 来源:发表于2019-07-31 11:11 被阅读0次

    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、你懂的

    觉得有用就关注一波吧


    老胡的公众号,关注一波吧

    相关文章

      网友评论

        本文标题:Flask怎么接收多层url

        本文链接:https://www.haomeiwen.com/subject/uarzrctx.html