自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

沈少轩的博客

拼搏到无能为力,坚持到感动自己

  • 博客(8)
  • 收藏
  • 关注

原创 flask源码分析-session处理流程(七)

session处理流程

2019-04-28 22:55:10 142

原创 flask源码分析-框架扩展(六)

良好的框架应该有良好的扩展性 试想我有如下需求: 在服务器启动时,我需要往数据库初始化一些数据 在每次请求api之前,需要验证用户token是否合法 每次请求完成后,需要往数据库插入一条日志 你可能会这么做,我先去找到服务器启动时的代码位置,在他之前插入一段代码; 在请求分发到路由之前,我找到源码的位置,然后再此处插入一段代码。。。。。。 如果一个框架不在某些位置留几个口子留给你扩展的话,必须...

2019-04-28 22:53:38 171

原创 flask源码分析-上下文机制(五)

什么是上下文 所谓上下文,可以认为是一个程序运行时所需要的环境,比如一些变量,数据的保存。 比如当你的同事在开培训会的时候,你迟到了,如果别人已经讲了半天,你半路插进来,你可能接下来的时间就完全听不懂别人在讲什么了,因为你缺少了上下文环境,这就叫脱离上下文。 在flask框架中也是这样,将程序运行所需要的数据封装到一个对象中,以便你在程序中各个位置都可以调用。 如何使用上下文 为了能让你再程序的各...

2019-04-28 22:52:16 143

原创 flask源码分析-配置文件(四)

本文学习Flask如何读取配置,定义配置,及将配置文件独立出来的编程思想 Flask初始化 首先flask在初始化的时候必须将配置加载完成 class Flask(_PackageBoundObject): config_class = Config # 配置由谁来加载配置 default_config = ImmutableDict({ 'ENV': No...

2019-04-28 22:48:03 107

原创 flask源码分析-自己造轮子引发的思考(三)

框架扩展 通过前面的了解,我们已经知道如何开始造一个框架了,下面将框架稍微扩展一下: 现在有几个视图函数,需要根据路由的不同返回相应的函数处理 def application(environ, start_response): path = environ['PATH_INFO'] method = environ['REQUEST_METHOD'] start_respo...

2019-04-28 22:44:54 135

原创 flask源码分析-WSGI接口(二)

一个web应用的本质 浏览器发送一个HTTP请求; 服务器收到请求,生成一个HTML文档; 服务器把HTML文档作为HTTP响应的Body发送给浏览器; 浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。 思考:HTML文档需要程序员编写代码动态生成,但解析请求和发送响应的代码是不是可以固定下来??? 我们一直在编写业务代码,却从未关心过如何发送响应,谁来监听请求? 为了让我...

2019-04-28 22:41:45 371

原创 flask源码分析-前言(一)

前言 技术发展进程 源码分析好处 排错快,快速定位错误 自定制代码拓宽思路,而不是照搬官方文档教学 了解实现思想,以不变应万变,对付其他框架也是一样套路,否则你学100个框架还是基于使用 通过优秀的代码学到编码思路,和更高级的编码技巧 你的‘为什么’会越来越少 分析优秀源代码的前提 对Python语法有一定的了解,比如元类,一些双下划线开头的方法,不要求在自己编写的代码中使用,但必须看得懂...

2019-04-28 22:37:55 89

原创 打包Python项目到pypi

需求场景 在公司的多个项目中都需要用到同样的代码,并且确定这些代码非常稳定,或者说较少改动,我们可以把这些代码打包成一个类库,上传到pypi包索引,后续所有的项目只需要使用pip包管理工具install即可,非常方便。 准备好你的项目 创建包文件打包项目 创建setup.py :setup.py是setuptools的构建脚本。它告诉setuptools你的包(例如名称和版本)以及要包含的代...

2019-04-28 22:32:21 385

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除