在使用 Flask 前請閱讀本文。希望本文可以回答您有關 Flask 的用途和目的,以及是 否應當使用 Flask 等問題。
“微”并不代表整個應用只能塞在一個 Python 文件內,當然塞在單一文件內也是可以的。 “微”也不代表 Flask 功能不強。微框架中的“微”字表示 Flask 的目標是保持核心既簡單而又可擴展。 Flask 不會替你做出許多決定,比如選用何種數(shù)據(jù)庫。類似的決定,如使用何種模板引擎,是非常容易改變的。 Flask 可以變成你任何想要的東西,一切恰到好處,由你做主。
缺省情況下, Flask 不包含數(shù)據(jù)庫抽象層、表單驗證或者其他已有的庫可以處理的東西。 然而, Flask 通過擴展為你的應用添加這些功能,就如同這些功能是 Flask 原生的一樣。 大量的擴展用以支持數(shù)據(jù)庫整合、表單驗證、上傳處理和各種開放驗證等等。Flask 可能是 “微小”的,但它已經為滿足您的各種生產需要做出了充足的準備。
剛起步的時候 Flask 有許多帶有合理缺省值的配置值和慣例。按照慣例,模板和靜態(tài)文件存放在應用的 Python 源代碼樹的子目錄中,名稱分別為 templates 和 static 。慣例是可以改變的,但是你大可不必改變,尤其是剛起步的時候。
一旦你開始使用 Flask ,你會發(fā)現(xiàn)有各種各樣的擴展可供使用。 Flask 核心開發(fā)組會審查擴展,并保證通過檢驗的擴展可以在最新版本的 Flask 中可用。
隨著你的代碼庫日益壯大,你可以自由地決定設計目標。 Flask 會一直提供一個非常簡約而優(yōu)秀的膠合層,就像 Python 語言一樣。你可以自由地使用 SQLAlchemy 執(zhí)行高級模式,或者使用其他數(shù)據(jù)庫工具,亦可引入非關系數(shù)據(jù)模型,甚至還可以利用用于 Python 網絡接口 WSGI 的非框架工具。
Flask 包含許多可以自定義其行為的鉤子??紤]到你的定制需求, Flask 的類專為繼承而打造。 如果對這一點感興趣,請閱讀大型應用一節(jié)。如果對 Flask 的設計原則感興趣,請移步 Flask 的設計思路 。
接下來請閱讀安裝 、 快速上手或者針對高級程序員的前言 。
? Copyright 2013, Armin Ronacher. Created using Sphinx.