請在開始使用 Flask 之前閱讀本文。也希望本文能夠回答關于 Flask 項目的初衷以及目標,以及 flask 適用的場景(情境)等問題。
什么是 “微”?
“微” (“Micro”) 并不是意味著把整個 Web 應用放入到一個 Python 文件,盡管確實可以這么做。當然“微” (“Micro”) 也不是意味 Flask 的功能上是不足的。微框架中的 “微” (“Micro”) 是指 Flask 旨在保持代碼簡潔且易于擴展。Flask 不會為你做太多的選擇,例如選擇什么樣的數據庫。Flask 為你做的是很容易修改的,比如選擇什么樣的模版引擎。其它的一切取決于你,因此 Flask 能滿足你所需要的。
默認情況下,Flask 并不包含數據庫抽象層,表單驗證或者任何其它現有的庫( Django )能夠處理的。相反,Flask 支持擴展,這些擴展能夠添加功能到你的應用,像是 Flask 本身實現的一樣。眾多的擴展提供了數據庫集成,表單驗證,上傳處理,多種開放的認證技術等功能。Flask 可能是“微”型的,但是已經能夠在各種各樣的需求中生產使用。
配置和約定
Flask 有許多帶有合理默認值的配置項,也遵循一些慣例。例如:按慣例,模板和靜態文件存儲在應用 Python 源代碼樹下的子目錄中,而這是可以改變的,你通常不必這么做,尤其是在剛開始的時候。
與 Flask 共同成長
一旦你的 Flask 項目搭建以及運行起來,你會發現在社區中有大量可用的擴展集成到你的生產環境項目中來。Flask 核心團隊會審閱這些擴展,確保經過驗證過的擴展在未來版本中仍能使用。
隨著你的代碼庫的增長,你能夠自由地為你的項目做出恰當的設計決定。Flask 會繼續盡 Python 的可能提供一個簡單的粘合層。你可以在 SQLAlchemy 或者其它數據庫工具中實現高級模式,適當的時候引入非關系型數據持久化,使用框架無關的 WSGI 工具,WSGI 是 Python 的 web 接口。
安裝
Flask 依賴兩個外部庫, Werkzeug 和 Jinja2。Werkzeug 是一個 WSGI 工具集,它是 web 應用程序和用于開發和部署的服務器之間的標準接口。Jinja2 負責渲染模板。
因此怎樣才能快速地安裝這一切了?你有很多種方法去安裝,但是最簡單粗暴的方式就是 virtualenv, 讓我們首先來看看它。
virtualenv
也許 Virtualenv 是你在開發中最愿意使用的,如果你在生產機器上有 shell 權限的時候,你也會愿意用上 virtualenv。
virtualenv 解決了什么問題?如果你像我一樣喜歡 Python 的話,有很多機會在基于 Flask 的 web 應用外的其它項目上使用 Python。 然而項目越多,越有可能在不同版本的 python,或者至少在不同 python 庫的版本上工作。 我們需要面對這樣的事實:庫破壞向后兼容性的情況相當常見,而且零依賴的正式應用也不大可能存在。 如此,當你的項目中的兩個或更多出現依賴性沖突,你會怎么做?
Virtualenv 的出現解決這一切!Virtualenv 能夠允許多個不同版本的 Python 安裝,每一個服務于各自的項目。 它實際上并沒有安裝獨立的 Python 副本,只是提供了一種方式使得環境保持獨立。讓我們見識下 virtualenv 怎么工作的。
如果你在 Mac OS X 或 Linux下,下面兩條命令可能會適用:
$ sudo easy_install virtualenv
或者更好的:
$ sudo pip install virtualenv
上述的命令會在你的系統中安裝 virtualenv。它甚至可能會出現在包管理器中。如果你使用 Ubuntu ,請嘗試:
$ sudo apt-get install python-virtualenv
如果是在 Windows 下并且沒有安裝 easy_install 命令,你首先必須安裝 easy_install 。 一旦安裝好 easy_install , 運行上述的命令,但是要去掉 sudo 前綴。
一旦成功安裝 virtualenv,運行 shell 創建自己的環境。我通常會創建一個項目文件夾,其下創建 venv 文件夾:
$ mkdir myproject $ cd myproject $ virtualenv venv
New python executable in venv/bin/python Installing distribute............done.
現在,只要你想要在某個項目上工作,只要激活相應的環境。在 OS X 和 Linux 下,按如下做:
$ . venv/bin/activate
如果你是個 Windows 用戶,下面的命令行是為你準備的:
$ venv\scripts\activate
無論哪種方式,你現在能夠使用你的 virtualenv (注意你的 shell 提示符顯示的是活動的環境)。
現在你只需要鍵入以下的命令來激活你的 virtualenv 中的 Flask:
$ pip install Flask
幾秒后,一切就為你準備就緒。
全局安裝
這樣也是可能的,盡管我不推薦。只需要以 root 權限運行 pip:
$ sudo pip install Flask
(在 Windows 系統上,在管理員權限的命令提示符中運行這條命令,不需要 sudo。)
體驗最新的 Flask (Living on the Edge)
如果你想要用最新版的 Flask 干活,這里有兩種方式:你可以使用 pip 拉取開發版本, 或讓它操作一個 git checkout。無論哪種方式,依然推薦使用 virtualenv。
在一個新的 virtualenv 上獲取一個 git checkout,在開發模式下運行:
$ git clone http://github.com/mitsuhiko/flask.git
Initialized empty Git repository in ~/dev/flask/.git/
$ cd flask $ virtualenv venv --distribute
New python executable in venv/bin/python Installing distribute............done.
$ . venv/bin/activate $ python setup.py develop
... Finished processing dependencies for Flask
這會拉取依賴關系并激活 git head 作為 virtualenv 中的當前版本。然后你只需要執行 git pull origin 來升級到最新版本。
沒有 git 下獲取最新的開發版本,需要這樣做:
$ mkdir flask $ cd flask $ virtualenv venv --distribute $ . venv/bin/activate
New python executable in venv/bin/python Installing distribute............done.
$ pip install Flask==dev
... Finished processing dependencies for Flask==dev
Windows 下的 pip 和 distribute
在 Windows 系統下,安裝 easy_install 有些棘手,但是仍然很簡單。最簡單的方式是下載 distribute_setup.py 文件接著運行它。運行這個文件最簡單的方式就是打開下載文件夾接著雙擊這個文件。
接著,把 Python 的 Scripts 文件夾添加到 PATH 環境變量來,這樣 easy_install 命令和其它 Python 腳本就加入到了命令行自動搜索的路徑。做法是:右鍵單擊桌面上或是“開始”菜單中的“我的電腦”圖標,選擇“屬性”, 然后單擊“高級系統設置”(在 Windows XP 中,單擊“高級”選項卡),然后單擊“環境變量”按鈕, 最后雙擊“系統變量”欄中的“Path”變量,并加入你的 Python 解釋器的 Scripts 文件夾。 確保你用分號把它和現有的值分隔開。假設你使用 Python 2.7 且為默認目錄,添加下面的值:
;C:\Python27\Scripts
這樣就完成了!為了檢測是否正常工作,打開命令提示符執行 easy_install。在 Windows Vista 或者 Windows 7 下如果開啟了用戶賬戶控制,它應該提示需要管理員權限。
現在已經安裝好 easy_install,你能使用它來安裝 pip:
> easy_install pip
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
