前言-Flask Web 开发(第2版)

Flask 能从其他框架中脱颖而出,是因为它可以让开发人员主导并完全控制其应用程序。也许你之前听说过“fighting the framework”这个词。当你决定用非官方解决方案解决问题时,大多数框架都会发生这种情况。你可能只是想使用不同的数据库引擎,或者是一种不同的用户身份验证方法。离开框架开发者设置的路径会给你带来很多麻烦。

Flask 则不同。你想使用关系型数据库?没关系,Flask 对各种关系型数据库都提供了支持。你想使用 NoSQL?没问题,Flask 也支持。想使用自己的数据库引擎?或者,根本不需要数据库?同样没有任何问题。借助Flask,您可以选择应用程序的组件,甚至可以按自己的需要编写专属的扩展。 这都不在话下!这种自由的关键在于 Flask 从一开始就设计为可扩展的。

面向的读者

虽然本教程假定读者没有 Flask 相关知识,但你仍需要一定的 Python 开发经验:包、模块、函数、装饰器和面向对象知识。

现代的 Web 应用不可避免地使用 HTML、CSS 和 JavaScript 等前端知识。本教程讲述的是 Flask 后端开发,所以这些前端知识需要读者自行学习。

组织

第一部分:Flask 入门:探讨使用 Flask 进行 Web 开发的基础知识,以及一些扩展:

第二部分:示例:一个社交博客应用。构建一个名为 Flasky 的开源社交博客应用。

第三部分:描述了一些与应用程序编码无直接关系的、发布应用程序之前需要考虑的重要任务:

示例代码

使用下面的命令,将示例代码克隆到本地:

$ git clone https://github.com/miguelgrinberg/flasky.git

克隆到本地之后,可以使用不同的分支来签出对应章节的代码:

$ git checkout 1a

上例中的 1a 是标签名,签出的是第1章的代码。

本文并非《Flask Web Development(2nd edition)》的全文翻译。而只是在阅读该书时,对自认为重点的内容进行记录以及思考。由于水平有限,本文所述内容难免出现不足或错误。请通过购买正版图书来进行更系统地学习,原书地址。本站将依照本系列文章录制视频教程,届时本文未作记录的部分以及项目实际开发中所需要的知识都会在视频教程中进行补充。

flask Flask Web Development(2nd edition) 2018-03-25 11:25 1637509