美文网首页
Flask04.路由变量&转换器

Flask04.路由变量&转换器

作者: 意爹闯天涯 | 来源:发表于2019-09-29 16:08 被阅读0次

路由变量

通过把 URL 的一部分标记为 <variable_name> 就可以在 URL 中添加变量,当访问URL时,URL中的值会被解析到视图函数的变量中。

from flask import Flask

app = Flask(__name__)


@app.route('/hi/<name>')
def say_hi(name):
    return 'hi,{}!'.format()


if __name__ == '__main__':
    print(app.url_map)
    app.run(debug=True)

如上例,在say_hi函数指定的路由中通过尖括号定义了name变量,当通过URL在浏览器访问时,路径/hi/后的字符串会被当做name的变量值传递给say_hi函数。
通过浏览器访问http://127.0.0.1:5000/hi/bob

http://127.0.0.1:5000/hi/bob
可以看到URL后的bob被解析成了变量值。

转换器

为了类型使用方便,flask提供了几种常用的类型转换器,可以将变量值转换成具体的类型。只需要在<variable_name>的基础上添加上的相应的类型转换器即可:<converter:variable_name>

如果不添加任何转换器,默认使用string转换器。

转换器类型:

类型 作用
string (缺省值) 接受任何不包含斜杠的文本
int 接受正整数
float 接受正浮点数
path 类似 string ,但可以包含斜杠
uuid 接受 UUID 字符串

以int转换器为例,定义路由中的int类型变量ab,并在视图函数中输出a+b的值。

from flask import Flask

app = Flask(__name__)


@app.route('/hi/<int:a>/<int:b>')
def say_hi(a, b):
    return '{0}+{1}={2}'.format(a, b, a+b)


if __name__ == '__main__':
    print(app.url_map)
    app.run(debug=True)

浏览器访问http://127.0.0.1:5000/hi/3/4:

http://127.0.0.1:5000/hi/3/4

如果URL中传入的变量值不符合转换器的类型,则返回404页面:


404页面

相关文章

网友评论

      本文标题:Flask04.路由变量&转换器

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