flask源码分析
ssx沈
这个作者很懒,什么都没留下…
展开
-
flask源码分析-前言(一)
前言技术发展进程源码分析好处排错快,快速定位错误自定制代码拓宽思路,而不是照搬官方文档教学了解实现思想,以不变应万变,对付其他框架也是一样套路,否则你学100个框架还是基于使用通过优秀的代码学到编码思路,和更高级的编码技巧你的‘为什么’会越来越少分析优秀源代码的前提对Python语法有一定的了解,比如元类,一些双下划线开头的方法,不要求在自己编写的代码中使用,但必须看得懂...原创 2019-04-28 22:37:55 · 99 阅读 · 0 评论 -
flask源码分析-WSGI接口(二)
一个web应用的本质浏览器发送一个HTTP请求;服务器收到请求,生成一个HTML文档;服务器把HTML文档作为HTTP响应的Body发送给浏览器;浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。思考:HTML文档需要程序员编写代码动态生成,但解析请求和发送响应的代码是不是可以固定下来???我们一直在编写业务代码,却从未关心过如何发送响应,谁来监听请求?为了让我...原创 2019-04-28 22:41:45 · 401 阅读 · 0 评论 -
flask源码分析-自己造轮子引发的思考(三)
框架扩展通过前面的了解,我们已经知道如何开始造一个框架了,下面将框架稍微扩展一下:现在有几个视图函数,需要根据路由的不同返回相应的函数处理def application(environ, start_response): path = environ['PATH_INFO'] method = environ['REQUEST_METHOD'] start_respo...原创 2019-04-28 22:44:54 · 147 阅读 · 0 评论 -
flask源码分析-配置文件(四)
本文学习Flask如何读取配置,定义配置,及将配置文件独立出来的编程思想Flask初始化首先flask在初始化的时候必须将配置加载完成class Flask(_PackageBoundObject): config_class = Config # 配置由谁来加载配置 default_config = ImmutableDict({ 'ENV': No...原创 2019-04-28 22:48:03 · 135 阅读 · 0 评论 -
flask源码分析-上下文机制(五)
什么是上下文所谓上下文,可以认为是一个程序运行时所需要的环境,比如一些变量,数据的保存。比如当你的同事在开培训会的时候,你迟到了,如果别人已经讲了半天,你半路插进来,你可能接下来的时间就完全听不懂别人在讲什么了,因为你缺少了上下文环境,这就叫脱离上下文。在flask框架中也是这样,将程序运行所需要的数据封装到一个对象中,以便你在程序中各个位置都可以调用。如何使用上下文为了能让你再程序的各...原创 2019-04-28 22:52:16 · 157 阅读 · 0 评论 -
flask源码分析-框架扩展(六)
良好的框架应该有良好的扩展性试想我有如下需求:在服务器启动时,我需要往数据库初始化一些数据在每次请求api之前,需要验证用户token是否合法每次请求完成后,需要往数据库插入一条日志你可能会这么做,我先去找到服务器启动时的代码位置,在他之前插入一段代码;在请求分发到路由之前,我找到源码的位置,然后再此处插入一段代码。。。。。。如果一个框架不在某些位置留几个口子留给你扩展的话,必须...原创 2019-04-28 22:53:38 · 209 阅读 · 0 评论 -
flask源码分析-session处理流程(七)
session处理流程原创 2019-04-28 22:55:10 · 170 阅读 · 0 评论