【Flask 1.0 源码阅读】 0 起个头

Flask 在 first commit 之后 经过了 8 个年头终于走到了 1.0 版本,想必是对完成度很有自信。接下来一个月的时间,打算把 Flask 源码和以及其相关的组件的部分源码读一读,提升一下自己对Web 开发的理解。


flask 中两个文件夹,一个ext在1.0后完全移除了 from flask.ext.xxx import yyy 的写法

一个 json 文件夹 ,涉及flask自己对json的封装。

__init__.py  import 了许多东西,列出了 Flask 提供的 API;

__main__.py  命令行flask.run的别称;

_compat.py  py2/py3 兼容性支持,基于 six;

app.py  Flask 类,核心, wsgi 的接口,先读之;

blueprint.py 蓝图,flask 根据路径组织代码的方式;

cli.py 命令行;

config.py 配置;

ctx.py 用来保持上下文的对象,使得 reqest这种每次代理每次都代表当前请求的状态;

debughelpers.py  debug的helpers;

exthook.py  将扩展 flask.ext.xxx 转成 flask_xxx 

globals.py  全局变量;

helpers.py helpers;

json.py  json 支持;

logging.py  日志;

session.py  基于 itsdangerous 实现的各种会话类;

signals.py  基于 blinker 的对详见消息传递机制,使得代码根据事件来反应;

templating.py  模板系统,基于 jinja2;

testing.py  测试用,包含 FlaskClient;

views.py  试图类,flask 既可以用装饰器写视图函数,也可以写视图类;

wrappers.py 将 werkzeug 的 Request 和 Response 包一层,视情况读读werkzeug的源码。


Flask 这种好风凭借力,可插拔的设计,相比 battery-included 的 Django 更 Pythonic 一些,但是这两个各有所长,都是好框架。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容