Flask基礎-01.Flask簡介

Flask簡介

Web應用程序作用

Web(World Wide Web)誕生最初的目的,是為了利用互聯網交流工作文檔。

關於Web框架

1. 什麼是Web框架?

1. 已經封裝好了一段代碼,協助程序快速開發,相當於項目半成品
2. 開發者只需要按照框架約定要求,在指定位置寫上自己的業務邏輯代碼
- 例如:在某個區需要成立一家醫院,有兩種方式:
    1. 圈地,打地基,蓋樓,裝修,入駐
    2. 買樓,裝修,入駐

2. 為什麼要用Web框架?

1.web網站發展至今,特別是服務器端,涉及到的知識、內容,非常廣泛。這對程序員的要求會越來越高。
    如果採用成熟,穩健的框架,那麼一些基礎的工作,比如,安全性,數據流控制等都可以讓框架來處理.
2.程序開發人員可以把精力放在具體的業務邏輯上面。
總結:降低開發難度,提高開發效率,不需要重複造輪子

3. Python 中常用的Web框架,特點

1.flask: 提供基本功能,屬於輕量級
2.django: 提供相對完整功能,重量級
3.tornado: 偏嵌入式web應用,非阻塞式服務器

4. 通過對比來了解Flask:

4.1 Django:

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

django的特點

4.2 Flask:

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

可定製性,通過擴展增加其功能,這是Flask最重要的特點。Flask的兩個主要核心應用是Werkzeug和模板引擎Jinja。

flask的特點

關於Flask

誕生時間:Flask誕生於2010年,是Armin ronacher(人名)用 Python 語言基於 Werkzeug工具箱編寫的輕量級Web開發框架。

Flask本身相當於一個內核,其他幾乎所有的功能都要用到擴展(郵件擴展Flask-Mail,用戶認證Flask-Login),都需要用第三方的擴展來實現。
比如可以用Flask-extension加入ORM、窗體驗證工具,文件上傳、身份驗證等。
Flask沒有默認使用的數據庫,你可以選擇MySQL,也可以用NoSQL。
其 WSGI 工具箱採用 Werkzeug(路由模塊) ,模板引擎則使用 Jinja2 。

Flask框架包含兩個核心:Werkzeug工具箱,Jinja2模板引擎

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

由於Flask沒有提供額外的其他功能,所以幾乎所有的功能都要用到擴展實現,如下列表所示:

Flask常用擴展包:

  • Flask-SQLalchemy:操作數據庫;
  • Flask-script:插入腳本;
  • Flask-migrate:管理遷移數據庫;
  • Flask-Session:Session存儲方式指定;
  • Flask-WTF:表單;
  • Flask-Mail:郵件;
  • Flask-Bable:提供國際化和本地化支持,翻譯;
  • Flask-Login:認證用戶狀態;
  • Flask-OpenID:認證;
  • Flask-RESTful:開發REST API的工具;
  • Flask-Bootstrap:集成前端Twitter Bootstrap框架;
  • Flask-Moment:本地化日期和時間;
  • Flask-Admin:簡單而可擴展的管理接口的框架

更多擴展列表://flask.pocoo.org/extensions/

  1. flask中文文檔(//docs.jinkan.org/docs/flask/)
  2. flask英文文檔(//flask.pocoo.org/docs/0.11/)