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