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 @   哈喽哈喽111111  阅读(304)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示