第一次萌生出这个念头是在2016年,刚开始写知乎专栏《Hello, Flask!》的时候。写了几篇文章后,原来计划的系统性的教程就变成了一堆零散主题的文章。一年后,又有过一次写教程的念头,那是在《用Flask实现豆瓣相册(一)》;只不过,刚刚完成第一篇,就开始写《Flask Web开发实战》了。书写完到现在,又是一年过去了。
为什么要写这个教程
《Flask Web 开发实战》整个写作以及后续的出版过程有太多的不愉快:
- 写作要使用 Word,编辑起来非常痛苦
- 写作语言要很谨慎,不能说太多无关的话
- 内容太多,涉及的源码太多,常常需要进行大量的更新和改写
- 书中包含的笔误无法及时更新到书上,只能写在勘误里等待重印
而写作开源电子书就没有这些痛苦了:
- 使用 Markdown 写作
- 可以让更多的人一起来完善它
- 内容可以随时更新
教程的名字暂定为《Flask入门教程:使用Python和Flask开发你的第一个Web程序》。
暂定的目录如下:
- 准备工作
- Hello, Flask!
- 模板和静态文件
- 表单
- 数据库
- 用户认证
- 组织你的代码
- 测试
- 部署上线
新的编写形式
这个教程采用了一种新的编写模式,我计划在教程里完整的呈现开发一个Flask程序的基本过程,包括每一个需要执行的命令,每一个文件的编写内容。因此,它不会像一本书一样包含大量解释和提示,除了开发流程外,尽量只保留入门所需的最简信息量,同时优化所有术语的描述。
作为阅读者,则需要自己动手敲出教程里的每一个命令和每一行代码,最终部署一个完全由自己编写的Flask程序。我想这个学习方式大概可以叫做“肌肉复制学习法”,或者是“自己动手跟着做一遍学习法” :p
通过自己动手开发一个程序,初学者可以对开发过程中涉及的概念建立一些自己的理解,后续的深入学习可以进一步加深或是纠正这些理解。
这个想法参考了ZED A. SHAW的《Learn X the Hard Way》系列。如果你对于这个教程的形式设计和内容安排有什么想法和建议,欢迎评论提出来。
写作计划
相关链接
- 教程主页:http://helloflask.com/tutorial
- 教程源码:https://github.com/greyli/flask-tutorial
- 示例程序源码:https://github.com/greyli/watchlist