Web 开发利器_Flask Web开发:基于Python的Web应用开发实战书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > Flask Web开发:基于Python的Web应用开发实战 > Web 开发利器
大句哥哥卧佛躺 Flask Web开发:基于Python的Web应用开发实战 的书评 发表时间:2014-05-27 10:05:10

Web 开发利器

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 也不外乎如此: 帮你包装好请求对象, 剩下的路由, 路由逻辑, 响应内容你来填.
上面大部分框架从大学到工作或多或少使用过, 其实真正写到业务层面时, 框架那些都不是事儿.
你想要的东西, 或框架自己造, 或怂恿队友帮你造, 或你自己造, 总之基本上你总能拿到你要的信息.
不要被框架局限了视野哟.

展开全文
有用 19 无用 0

您对该书评有什么想说的?

发 表

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“Web 开发利器”的回应

国庆节叫醒我 2017-02-19 15:29:58

好的 试一哈

大句哥哥卧佛躺 2017-02-15 04:11:01

@asdqw sorry 以前没注意到这里的评论。
@树上的男丁 囫囵吞枣的原因 我猜测可能是因为不了解这些库背后的原理 可以把这本书当作一个主线 提到的名词再去做扩展阅读 (比如HTTP协议这个就有好大一箩筐要学习

国庆节叫醒我 2017-02-14 23:19:01
asdqw :你好,我看完python简明教程就开始看这本书..第一部分自己还能理解并且能自己写..但到了第二部分,感觉自己就只能全部照抄书了..是不是我还差些什么基础啊??

和你有同样的困扰,不知道你是怎么解决的?我是纯小白,之前没有接触过C等其他语言,啃完基础教程后看这些只是囫囵吞枣,是不是还要继续学习其他的基础?

泊浮目 2016-03-03 20:39:41

tornado肯定被我吃了

asdqw 2014-12-22 15:32:43

你好,我看完python简明教程就开始看这本书..第一部分自己还能理解并且能自己写..但到了第二部分,感觉自己就只能全部照抄书了..是不是我还差些什么基础啊??

su27根本就没有 2014-10-22 18:24:28

赞大句哥哥~

cress 2014-05-27 11:11:21

评论下tornado吧!

paulhandle 2014-05-27 10:40:05

很多 Flask 插件都写得很渣. +1