Flask变量规则

Flask教程 · 2019-04-25 17:56:36

可以通过将可变部分添加到规则参数来动态构建URL。 这个变量部分被标记为<variable-name>。 它作为关键字参数传递给规则所关联的函数。

在以下示例中,route()装饰器的规则参数包含附加到URL /hello<name>变量部分。 因此,如果在浏览器中输入URL: http://localhost:5000/hello/coderctocodercto,那么 ‘coderctocodercto’ 将作为参数提供给hello()函数。

参考如下代码 -

from flask import Flask
app = Flask(__name__)

@app.route('/hello/<name>')
def hello_name(name):
    return 'Hello %s!' % name

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

将上面的脚本保存到文件:hello.py,并从Python shell运行它。

接下来,打开浏览器并输入URL => http://localhost:5000/hello/coderctocodercto。在浏览器中输出如下所示 -

除了默认的字符串变量部分之外,还可以使用以下转换器构造规则 -

编号 转换器 描述
1 int 接受整数
2 float 对于浮点值
3 path 接受用作目录分隔符的斜杠符(/)

在下面的代码中,使用了所有这些构造函数。

from flask import Flask
app = Flask(__name__)

@app.route('/blog/<int:postID>')
def show_blog(postID):
    return 'Blog Number %d' % postID

@app.route('/rev/<float:revNo>')
def revision(revNo):
    return 'Revision Number %f' % revNo

if __name__ == '__main__':
    app.run()

从Python Shell运行上述代码。 在浏览器中访问URL => http:// localhost:5000/blog/11

给定的数字值作为:show_blog()函数的参数。 浏览器显示以下输出 -

Blog Number 11

在浏览器中输入此URL - http://localhost:5000/rev/1.1

revision()函数将浮点数作为参数。 以下结果出现在浏览器窗口中 -

Revision Number 1.100000

Flask的URL规则基于Werkzeug的路由模块。 这确保了形成的URL是唯一的,并且基于Apache制定的先例。

考虑以下脚本中定义的规则 -

from flask import Flask
app = Flask(__name__)

@app.route('/flask')
def hello_flask():
    return 'Hello Flask'

@app.route('/python/')
def hello_python():
    return 'Hello Python'

if __name__ == '__main__':
    app.run()

两条规则看起来都很相似,但在第二条规则中,使用了尾部斜线(/)。 因此,它变成了一个规范的URL。 因此,使用/python/python/返回相同的输出。 但是,在第一条规则的情况下, URL:/flask/会导致404 Not Found页面。

点击查看所有 Flask教程 文章: https://www.codercto.com/courses/l/47.html

查看所有标签

Ajax Design Patterns

Ajax Design Patterns

Michael Mahemoff / O'Reilly Media / 2006-06-29 / USD 44.99

Ajax, or Asynchronous JavaScript and XML, exploded onto the scene in the spring of 2005 and remains the hottest story among web developers. With its rich combination of technologies, Ajax provides a s......一起来看看 《Ajax Design Patterns》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具