webpy 源码调试分析环境

介绍

用过不少的python web框架,然而仅仅是使用并不知其中原理,所以萌生阅读框架源码的想法。
对于框架的选择,django使用最多最全面,然而并不适合;
twisted&tornado异步网络框架,包括web,不合适;
还是webpy吧 - -,代码少,目的能够达到。

config

fork webpy/webpy 到自己的github,并克隆到本地,建立新分支,
在项目根目录创建一个demo的目录用于记录笔记或是写例子。

使用调试工具,虽然pdb很好用了,但是有时候print还是可以的,比如多线程的时候 - -,
也就多了修改源码的需求,去修改系统的web模块肯定不妥,那就使用当前分支的web模块吧,
然而要得到这样的效果,就在写demo的时候import之前:

1
2
import sys
sys.path.insert(0, ‘/home/xxx/webpy/‘)

蛋疼,但是,使用pycharm会优先搜索当前工程目录,完全符合我的目录结构和需求!

example

我从一个简单的例子入手看代码,例子来自http://webpy.org/src/todo-list/0.3
将其放到我的demo目录中,大概是这样子:
webpy
下面无论是用print,还是pdb,还是pycharm自带的debug都直接操作当前工程的web模块了。

参考

http://webpy.org/src/todo-list/0.3