前言
在使用 Flask 前请阅读本文。希望本文可以回答您有关 Flask 的用途和目的,以及是否应当使用 Flask 等问题。
“微”的含义
“微”并不代表整个应用只能塞在一个 Python 文件内,当然塞在单一文件内也没有问题。 “微”也不代表 Flask 功能不强。微框架中的“微”字表示 Flask 的目标是保持核心简单而又可扩展。Flask 不会替你做出许多决定,比如选用何种数据库。类似的决定,如使用何种模板引擎,是非常容易改变的。Flask 可以变成你任何想要的东西,一切恰到好处,由你做主。
缺省情况下, Flask 不包含数据库抽象层、表单验证或者其他已有的库可以处理的东西。然而, Flask 通过扩展为你的应用添加这些功能,就如同这些功能是 Flask 生的一样。大量的扩展用以支持数据库整合、表单验证、上传处理和各种开放验证等等。Flask可能是 “微小”的,但它已经为满足您的各种生产需要做出了充足的准备。
配置和惯例
刚起步的时候 Flask 有许多带有合理缺省值的配置值和惯例。按照惯例,模板和静态文件存放在应用的 Python 源代码树的子目录中,名称分别为templates
和 static
。惯例是可以改变的,但是你大可不必改变,尤其是刚起步的时候。
可持续发展
一旦你开始使用 Flask ,你会发现有各种各样的扩展可供使用。 Flask 核心开发组会审查扩展,并保证通过检验的扩展可以在最新版本的 Flask 中可用。
随着你的代码库日益壮大,你可以自由地决定设计目标。 Flask 会一直提供一个非常简约而优秀的胶合层,就像 Python 语言一样。你可以自由地使用 SQLAlchemy 执行高级模式,或者使用其他数据库工具,亦可引入非关系数据模型,甚至还可以利用用于Python 网络接口 WSGI 的非框架工具。
Flask 包含许多可以自定义其行为的钩子。考虑到你的定制需求, Flask 的类专为继承而打造。如果对这一点感兴趣,请阅读 大型应用 一节。如果对 Flask 的设计原则感兴趣,请移步 Flask 的设计思路 。
接下来请阅读 安装 、 快速上手 或者针对高级程序员的前言 。