随笔分类 -  flask源码剖析

摘要:flask源码剖析系列(系列目录) "01 flask源码剖析之werkzurg 了解wsgi" "02 flask源码剖析之flask快速使用" "03 flask源码剖析之threading.local和高级" "04 flask源码剖析之LocalStack和Local对象实现栈的管理" "0 阅读全文
posted @ 2019-11-26 17:38 LBZHK 阅读(149) 评论(0) 推荐(0)
摘要:08 Flask源码剖析之flask拓展点 1. 信号(源码) 信号,是在flask框架中为我们预留的钩子,让我们可以进行一些自定义操作。 2. 根据flask项目的请求流程来进行设置扩展点 中间件 当app_ctx被push到local中栈之后,会触发appcontext_pushed信号,之前注 阅读全文
posted @ 2019-11-26 17:30 LBZHK 阅读(119) 评论(0) 推荐(0)
摘要:07 Flask源码之:用户请求过来流程 [TOC] 1.创建ctx = RequestContext对象 RequestContext对象封装Request对象 RequestContext对象封装session数据 源码实现: 2. 创建app_ctx = AppContext对象 AppCon 阅读全文
posted @ 2019-11-25 21:37 LBZHK 阅读(162) 评论(0) 推荐(0)
摘要:06 Flask源码之:路由加载 [TOC] 1.示例代码 2.路由加载源码分析 1. 先执行route函数 2. 执行 函数 1. 将 和 和` endpoint = "index"`封装到Rule对象 2. 将Rule对象添加到 中。 3. 把endpoint和函数的对应关系放到 中。 4. 当 阅读全文
posted @ 2019-11-25 20:23 LBZHK 阅读(153) 评论(0) 推荐(0)
摘要:05 Flask源码之:配置加载 [TOC] 1.加载配置文件 2.app.config源码分析 1. 执行 里边的 方法 2. 实例化 类 3.from_object源码分析 1. 执行 函数 将所有键值对放到Config对象中 2. 执行 函数 将配置文件的import_name通过最后一个点分 阅读全文
posted @ 2019-11-25 20:21 LBZHK 阅读(118) 评论(0) 推荐(0)
摘要:04 LocalStack和Local对象实现栈的管理 [TOC] 1.源码入口 1. flask源码关于local的实现 1. local与localstack关系 flask中是localstack结合local使用 local为localstack提供基本结构 2. 源码实现 2. flask 阅读全文
posted @ 2019-11-25 20:15 LBZHK 阅读(172) 评论(0) 推荐(0)
摘要:03 threading.local和高级 [TOC] 1.python之threading.local 当每个线程在执行 val.num=1 ,在内部会为此线程开辟一个空间,来存储 num=1 val.num,找到此线程自己的内存地址去取自己存储 num 2. 线程唯一标识 get_ident 3 阅读全文
posted @ 2019-11-25 20:13 LBZHK 阅读(146) 评论(0) 推荐(0)
摘要:02 flask快速使用 [TOC] 1.flask与django的区别 1. django是个大而全的框架,flask是一个轻量级的框架。 2. django内部为我们提供了非常多的组件:orm / session / cookie / admin / form / modelform / 路由 阅读全文
posted @ 2019-11-25 20:08 LBZHK 阅读(141) 评论(0) 推荐(0)
摘要:01 werkzurg了解wsgi [TOC] 1. wsgi django和flask内部都没有实现socket,而是wsgi实现。 wsgi是web服务网关接口,他是一个协议,实现它的协议的有:wsgiref/werkzurg/uwsgi 1. django之前 2. flask之前 2. fl 阅读全文
posted @ 2019-11-25 20:00 LBZHK 阅读(295) 评论(0) 推荐(0)