認識Flask框架

經過對比來了解Flask:前端

  • Django:

Python Web框架裏比較有名當屬Django,Django功能全面,它提供一站式解決方案,集成了MVT(Model-View-Template)和ORM,以及後臺管理。可是缺點也很明顯,它偏重。就像是一個裝潢好的房子,它提供好了你要用的東西,直接拿來用就能夠。程序員

  • Flask:

Flask相對於Django而言是輕量級的Web框架。和Django不一樣,Flask輕巧、簡潔,經過定製第三方擴展來實現具體功能。web

可定製性,經過擴展增長其功能,這是Flask最重要的特色。Flask的兩個主要核心應用是Werkzeug和模板引擎Jinja。數據庫

Flask框架

Flask做爲Web框架,它的做用主要是爲了開發Web應用程序。那麼咱們首先來了解下Web應用程序。Web應用程序 (World Wide Web)誕生最初的目的,是爲了利用互聯網交流工做文檔。flask

一切從客戶端發起請求開始。瀏覽器

  • 全部Flask程序都必須建立一個程序實例。
  • 當客戶端想要獲取資源時,通常會經過瀏覽器發起HTTP請求。
  • 此時,Web服務器使用一種名爲WEB服務器網關接口的WSGI(Web Server Gateway Interface)協議,把來自客戶端的請求都交給Flask程序實例。
  • Flask使用Werkzeug來作路由分發(URL請求和視圖函數之間的對應關係)。根據每一個URL請求,找到具體的視圖函數。
  • 在Flask程序中,路由通常是經過程序實例的裝飾器實現。經過調用視圖函數,獲取到數據後,把數據傳入HTML模板文件中,模板引擎負責渲染HTTP響應數據,而後由Flask返回響應數據給瀏覽器,最後瀏覽器顯示返回的結果。

爲何要用Web框架?

web網站發展至今,特別是服務器端,涉及到的知識、內容,很是普遍。這對程序員的要求會愈來愈高。若是採用成熟,穩健的框架,那麼一些基礎的工做,好比,網絡操做、數據庫訪問、會話管理等均可以讓框架來處理,那麼程序開發人員能夠把精力放在具體的業務邏輯上面。使用Web框架開發Web應用程序能夠下降開發難度,提升開發效率。服務器

總結一句話:避免重複造輪子。網絡

Flask框架的誕生:

Flask誕生於2010年,是Armin ronacher(人名)用Python語言基於Werkzeug工具箱編寫的輕量級Web開發框架。它主要面向需求簡單的小應用。框架

Flask自己至關於一個內核,其餘幾乎全部的功能都要用到擴展(郵件擴展Flask-Mail,用戶認證Flask-Login),都須要用第三方的擴展來實現。好比能夠用Flask-extension加入ORM、窗體驗證工具,文件上傳、身份驗證等。Flask沒有默認使用的數據庫,你能夠選擇MySQL,也能夠用NoSQL。其 WSGI 工具箱採用 Werkzeug(路由模塊) ,模板引擎則使用 Jinja2 。ide

能夠說Flask框架的核心就是Werkzeug和Jinja2。

Python最出名的框架要數Django,此外還有Flask、Tornado等框架。雖然Flask不是最出名的框架,可是Flask應該算是最靈活的框架之一,這也是Flask受到廣大開發者喜好的緣由。

Flask擴展包:

  • Flask-SQLalchemy:操做數據庫;
  • Flask-migrate:管理遷移數據庫;
  • Flask-Mail:郵件;
  • Flask-WTF:表單;
  • Flask-script:插入腳本;
  • Flask-Login:認證用戶狀態;
  • Flask-RESTful:開發REST API的工具;
  • Flask-Bootstrap:集成前端Twitter Bootstrap框架;
  • Flask-Moment:本地化日期和時間;

Flask官方文檔:

中文文檔

英文文檔

相關文章
相關標籤/搜索