第一部分 Flask简介
第1章 安装
在大多数标准中,Flask都算是小型框架,小到可以称为“微框架”。Flask非常小,因此你一旦能够熟练使用它,很可能就能读懂它所有的源码。
但是,小并不意味着它比其他框架的功能少。Flask自开发伊始就被设计为可扩展的框架,它具有一个包含基本服务的强健核心,其他功能则可通过扩展实现。你可以自己挑选所需的扩展包,组成一个没有附加功能的精益组合,完全满足自身需求。
Flask有3个主要依赖:路由、调试和Web服务器网关接口(WSGI,Web server gateway interface)子系统由Werkzeug提供;模板系统由Jinja2提供;命令行集成由Click提供。这些依赖全都是Flask的开发者Armin Ronacher开发的。
Flask原生不支持数据库访问、Web表单验证和用户身份验证等高级功能。这些功能以及其他大多数Web应用需要的核心服务都以扩展的形式实现,然后再与核心包集成。开发者可以任意挑选符合项目需求的扩展,甚至可以自行开发。这和大型框架的做法相反,大型框架往往已经替你做出了大多数决定,难以(有时甚至不允许)使用替代方案。
本章介绍如何安装Flask。在这个过程中,你只需要一台安装了Python的计算机。
本书中的代码示例已在Python 3.5和Python 3.6中测试过。如果你愿意,也可以使用Python 2.7。不过这一版将在2020年后停止维护,因此强烈建议你使用3.x版。
如果你决定使用运行微软Windows系统的计算机,那么要做个选择:要么使用基于Windows的“原生”工具集,要么设置计算机,沿用基于Unix的主流工具集。本书中的代码基本上在两种方式下都能正常运行。偶有差异时,本书采用Unix方式,不过也会给出针对Windows的说明。
如果你决定采用Unix工作流程,有几个选择。如果你使用的是Windows 10,可以启用WSL(Windows subsystem for Linux)。这是官方支持的功能,在Windows原生界面中独立运行Ubuntu Linux。通过WSL可以访问bash shell和基于Unix的全套工具集。如果你的系统不支持WSL,Cygwin也是不错的选择。这是一个开源项目,模仿Unix的POSIX子系统,而且移植了大量Unix工具。