前言

在开始使用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 的设计思路 。

接下来请阅读 安装 、 快速上手 或者 针对高级程序员的前言 。