前言 — Flask 文档
前言
在开始使用 Flask 之前,请阅读本文。 这有望回答有关项目目的和目标以及何时应该或不应该使用它的一些问题。
“微”是什么意思?
“微”并不意味着你的整个 web 应用程序必须适合单个 Python 文件(尽管它肯定可以),也不意味着 Flask 缺乏功能。 微框架中的“微”意味着 Flask 旨在保持核心简单但可扩展。 Flask 不会为你做很多决定,比如使用什么数据库。 它做出的那些决定,例如使用什么模板引擎,很容易改变。 其他一切都取决于你,所以 Flask 可以是你需要的一切,而没有你不需要的。
默认情况下,Flask 不包括数据库抽象层、表单验证或其他任何已经存在可以处理的不同库的东西。 相反,Flask 支持扩展以将此类功能添加到您的应用程序中,就好像它是在 Flask 本身中实现的一样。 许多扩展提供了数据库集成、表单验证、上传处理、各种开放式身份验证技术等。 Flask 可能是“微型”的,但它已准备好用于满足各种需求的生产使用。
配置和约定
Flask 有许多配置值、合理的默认值和一些入门时的约定。 按照惯例,模板和静态文件存储在应用程序 Python 源代码树中的子目录中,名称分别为 templates
和 static
。 虽然这可以更改,但您通常不必更改,尤其是在开始时。
与 Flask 一起成长
启动并运行 Flask 后,您会在社区中找到各种扩展来集成您的项目以进行生产。
随着代码库的增长,您可以自由地做出适合您项目的设计决策。 Flask 将继续为 Python 所提供的最好的东西提供一个非常简单的粘合层。 您可以在 SQLAlchemy 或其他数据库工具中实现高级模式,酌情引入非关系数据持久性,并利用为 WSGI(Python Web 界面)构建的与框架无关的工具。
Flask 包含许多钩子来自定义其行为。 如果您需要更多自定义,Flask 类是为子类化而构建的。 如果您对此感兴趣,请查看 Becoming Big 一章。 如果您对 Flask 设计原则感到好奇,请转到有关 Flask 中的设计决策 的部分。