Python 生态圈有两个现象级的 Web 框架 Flask, Django.
两个框架风格迥异, 但是都各自带动了庞大的生态圈, 这得益于二者灵活的扩展能力.
本书讲述的是基于 Flask 开发 Web 项目.
在对 Flask 框架的各个部分简要分析后, 本书介绍了
* 表单处理(Flask-WTF)
* 持久化(Flask-SQLAlchemy, 这货作者就是 Flask 的作者哟)
* 邮件
* 配置
* 一个真实案例: 模型, 用户验证, 角色, 关注, 写template, 写API
# 特点
* 线程局部变量
我不知道该把这个称作特点还是缺点.
至少在Flask的文档中作者明确给出这样的解释: 作为一个码农, 你也许会感到不适, 但我就想这样设计.
大部分的 Web 框架, 请求对象是外部注入的, 唯独 Flask 选择了全局 (flask.request, flask.g).
这个特点存在意味着你要小心使用这个特性, 否则很容易遇上需要调试大半天的Bug.
另外, request 不是那么容易造出来的.
不过, 这不是什么大不了的事情.
这个顺便波及到测试, 测试的setup 与 teardown, 你必须去营造一个上下文, 关于这点, 书中有讲解如何操作.
* Route/Template
框架的路由使用的是Werkzeug.
Template使用的是Jinja2, 当然不喜欢的话, 用别的也很简单.
* 足够小
Flask 只封装了请求, 路由, 模板这么几个功能.
用起来容易, 要写好也得费点脑子涨点经验才行.
说穿了也就是一句话:
> The idea of Flask is to build a good foundation for all applications.
> Everything else is up to you or extensions.
[Ref: What Flask is, What Flask is Not](http://flask.pocoo.org/docs/design/#what-flask-is-what-flask-is-not)
# 工作流
常规的三板斧: 开发, 测试, 部署.
书里面的部署和配置这两章节讲的很出色, 值得一读, 我给打五星.
# 插件
借用 @死鱼眼28号 常说的一句话, 很多 Flask 插件都写得很渣.
我表示 +1.
挑选插件时记得看下插件源码, 给作者的码力打个分再决定要不要用.
# 后记
关于 Web 开发, 我们的选择有很多:
* PHP(Laravel, CodeIgniter, Yii, Symfony, CakePHP, etc.)
* Ruby(RoR, Sinatra, etc.)
* Python(Flask, Django, Quixote, Web.py, Bottle, etc.)
* Java/Scala(Spring, Play!, etc.)
殊途同归, 他们也给出了几乎一样的解决方案.
我们可以看到大部分的 Web 项目都有着类似的目录分类, 类似的架构.
Flask 也不外乎如此: 帮你包装好请求对象, 剩下的路由, 路由逻辑, 响应内容你来填.
上面大部分框架从大学到工作或多或少使用过, 其实真正写到业务层面时, 框架那些都不是事儿.
你想要的东西, 或框架自己造, 或怂恿队友帮你造, 或你自己造, 总之基本上你总能拿到你要的信息.
不要被框架局限了视野哟.
Web 开发利器
对“Web 开发利器”的回应
《Flask Web开发:基于Python的Web应用开发实战》热门书评
-
Web 开发利器
19有用 0无用 大句哥哥卧佛躺 2014-05-27
Python 生态圈有两个现象级的 Web 框架 Flask, Django.两个框架风格迥异, 但是都各自带动了庞大的生态圈, 这得益于二者灵活的扩展能力.本书讲述的是基于 Flask 开发 Web 项目.在对 Flask 框架的各个部分简要分析后, 本书介绍了 * 表单处理(Flask-WTF)...
-
读书笔记:《Flask Web Development》part 1
6有用 0无用 xslug 2015-01-02
主要是写给自己的读书笔记,便于日后快速回忆这个主题的内容,也希望能有幸影响到若干匆匆过客。# meta作者Miguel Grinberg有25年工作经验,在视频广播行业,博客覆盖web开发,机器人,摄影等领域,因此积累是足够的。国外的这些老程序员都是国内职业生涯的好样板。全书分成三部分:- 基础知识...
-
从入门到中级的Flask入门书【荐】
4有用 0无用 yetship 2016-07-05
这本书非常适合Flask 入门,虽然说是入门书,但是我个人认为可以作为初中级的参考书籍,因为作者对 Flask 的讲解把握的非常到位,所以可以将很多概念和扩展的使用讲解得通俗易懂,但是,又不乏给有心人留下很多空间去进行自我寻找资料扩展学习。这本书我读了3遍了现在,也不敢说书中提及的所有内容我都了然于...
-
SQLAlchemy大坑记录
4有用 0无用 沙丁鱼2 2017-02-20
本文分两部分:第一部分是吐槽 Flask-SQLAlchemy,第二部分是 此书关于视图函数中操作数据库的内容并分享本人踩坑案例。好吧,其实这个大坑是我自己给自己挖的。。第一部分:首先其实按照此书前四章来操作其实是没太大问题的,但从第五章的数据库开始,就有点绕了。简单粗暴来句总结:**如果有一个问题...
书名: Flask Web开发:基于Python的Web应用开发实战
作者: [美] Miguel Grinberg
出版社: 人民邮电出版社
译者: 安道
出版年: 2014-12
页数: 224
定价: 59.00元
装帧: 平装
ISBN: 9787115373991