2.5.2、请求调度

程序收到客户端发来的请求时,要找到处理该请求的视图函数。为了完成这个任务,Flask会在程序的 URL 映射中查找请求的 URL。URL 映射是 URL 和视图函数之间的对应关系。

Flask 使用 app.route 修饰器或者非修饰器形式的 app.add_url_rule() 生成映射。

要想查看 Flask 程序中的 URL 映射是什么样子,我们可以在 Python shell 中检查为 hello.py生成的映射。测试之前,请确保你激活了虚拟环境:

[user@localhost test]$ source venv/bin/activate

(venv)[user@localhost test]$ python

Python 2.7.5 (default, Nov  6 2016, 00:28:07)

[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> from hello import app

>>> app.url_map

Map([<Rule '/' (HEAD, OPTIONS, GET) -> index>,

 <Rule '/static/<filename>' (HEAD, OPTIONS, GET) -> static>,

 <Rule '/user/<name>' (HEAD, OPTIONS, GET) -> user>])

>>>

/ 和 /user/<name> 路由在程序中使用 app.route 修饰器定义。/static/<filename> 路由是Flask 添加的特殊路由,用于访问静态文件。

URL 映射中的 HEAD、Options、GET 是请求方法,由路由进行处理。Flask 为每个路由都指定了请求方法,这样不同的请求方法发送到相同的 URL 上时,会使用不同的视图函数进行处理。HEAD 和 OPTIONS 方法由 Flask 自动处理,因此可以这么说,在这个程序中,URL映射中的 3 个路由都使用 GET 方法。

posted @ 2017-03-29 18:13  哈喽哈喽111111  阅读(300)  评论(0编辑  收藏  举报