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