开发一个 Flask 网站:基础知识
十一期间,我花了大概 5 天时间(每天3-4小时),用 Flask 开发了一个内部工具用来管理团队 KPI 。这个工具会交给其他同学继续开发,为了方便交流,我用几篇文章来描述一下如何从零开始快速上手 Flask 的开发流程。我会提供包括参考资料,书籍链接,学习顺序和方法,最佳实践等内容。
注意: 这里的“从零开始”并非毫无开发经验,这个零代表:有一定的IT技术基础,使用过脚本语言,但从未或很少接触 Web 开发。
[TOC]
Flask 简介
Flask 非常适合用来快速开发一些小型工具。它也是目前上手最快的 Python Web 开发框架。基于 Python 的著名 Web 开发框架还有 django 。Flask、Django、Pyramid三个框架的对比 介绍了几个主流 Python Web 开发框架的区别。
Flask 的技术栈
Flask 的依赖非常少,只依赖一套模版系统 Jinja2 和 WSGI 工具库 Werkzeug 。其它的内容就需要自己选择了。我的选择如下:
Python
Python3
具体的学习方法请看 Python 入门建议 。该文中提到了如何学习 Python,看什么书,学习顺序以及学习工具。
数据库
MySQL
推荐书籍:
这两本薄书的作者是同一个人,内容差别也不大,可以一起读。之所以读了 MySQL 还要读 SQL,是因为后者强调了各种不同数据库支持的 SQL 语言的异同,值得了解一下。
MySQL 的客户端库使用 PyMySQL 。PyMySQL 不需要学习,因为我选择使用 SQLAlchemy 。
我使用 SQLAlchemy 实际操作数据库。 SQLAlchemy 是一种 ORM ,可以理解成基于编程语言的虚拟数据库。使用 SQLAlchemy ,就不必编写实际的 SQL 语句,直接使用 Python 对象语法就能完成查询,能同时支持多种不同的数据库。
学习 SQLAlchemy 最好的办法就是阅读 官方文档(英文) ,我还没有发现很好的中文文档。
前端
Bootstrap
(待续)
jQuery
(待续)
学习顺序
- 学习 Python,见 Python入门建议 ;
- 学习 Flask,阅读 《Flask Web 开发》 ,该书中包含 Jinja2 和 SQLAlchemy 的入门教程;
- 在开发过程中持续学习 SQLAlchemy 和 Jinja2/Werkzeug ;
(未完待续)
- 文章ID:2588
- 原文作者:zrong
- 原文链接:https://blog.zengrong.net/post/how-to-build-a-flask-website/
- 版权声明:本作品采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可,非商业转载请注明出处(原文作者,原文链接),商业转载请联系作者获得授权。