Flask的路由和视图函数(简谈)

概念:

路由:客户端把请求发送给Web服务器,Web服务器再把请求发送给程序实例。程序实例需要知道对每个URL请求运行哪些代码,所以保存了一个 URL 到 Python 函数的映射关系。处理URL和函数之间关系的程序称路由

在Flask定义路由的最简便方式,是使用程序实例提供的app。route修饰器,把修饰的函数注册为路由:

如:

    from flask import Flask

    app = Flask(__name__)

    @app.route('/')
    def index():
        return 'hello world'

    @app.route('/user', methods=['GET'])
    def hello_user():
        return 'hello user'

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

路由的本质

路由的本质,是URL 绑定, @app.route() 装饰器用于把一个函数绑于一个URL上,如上,/绑定了index()函数,/user绑定了hello_user()函数,这个例子将 index() 函数注册为程序根 '/' 地址。访问 http://localhost:5000/ 后,会触发服务器执行 index() 函数,这个函数的返回值称为响应,是客户端接收到的内容。

像 index() 这样的函数称为视图函数。视图函数返回的响应可以是包含 HTML 的简单字符串,也可以是复杂的表单

路由查找方式

同一路由指向两个不同的函数,在匹配过程中,至上而下依次匹配

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return '<h1>hello world</h1>'


@app.route('/')
def hello_2017():

    return '<h1>hello 2017</h1>'

所以上面路由 / 输出的结果为 hello 函数的结果






阅读更多
换一批

没有更多推荐了,返回首页