Python基础教程:Flask进击篇——Flask运行流程
一次完整的请求
在我们了解Flask运行流程之前,先看一下我们在浏览器一次请求中所经历的过程,下面这张是结合Flask的源码绘制的一张流程图

能看到Flask在一次请求中实际上只是做了最后一部分功能,这里没有将Flask的具体处理流程列出来,我们在下面会继续讲解。
在上图中出现WSGIRequestHandler,WSGI协议是在Python Web开发中很核心的部分,如果想继续进击的话,需要对这部分有深刻的理解。
这部分我在前面的Python基础教程有讲到过!
Flask处理流程
我所理解Flask要做的事情,是根据请求的HTTP协议中url和method映射相应的处理函数,处理完并返回。这是基础的功能,Flask在这基础上又增加了一些其他功能。下面我们就通过Flask的源码中一些属性来进行分析。
Flask部分重要属性


Flask在启动时已将各属性根据需求配置好,但实际映射函数的属性就是view_functions,此属性类型为字典,key是endpoint。
endpoint可自定义,若不指定将会根据函数名生成

本文详细介绍了Flask框架的运行流程,从一次完整的HTTP请求过程到Flask如何根据URL和HTTP方法映射处理函数。Flask的核心在于根据请求的endpoint在url_map中匹配并执行相应函数。同时,文章提到了WSGI协议的重要性以及Flask的初始化属性,如view_functions和url_map。最后,文章预告了后续将探讨的Flask特性,如request对象、current_app、blueprints以及Python基础教程的相关内容。
最低0.47元/天 解锁文章
1072

被折叠的 条评论
为什么被折叠?



