1.什么是Flask
Flask是一個基於Python開發並且依賴jinja2模板和Werkzeug WSGI服務的一個微型框架,對於Werkzeug本質是Socket服務端,其用於接收http請求並對請求進行預處理,然后觸發Flask框架,開發人員基於Flask框架提供的功能對請求進行相應的處理,並返回給用戶,如果要返回給用戶復雜的內容時,需要借助jinja2模板來實現對模板的處理,即:將模板和數據進行渲染,將渲染后的字符串返回給用戶瀏覽器。
“微”(micro) 並不表示你需要把整個 Web 應用塞進單個 Python 文件(雖然確實可以 ),也不意味着 Flask 在功能上有所欠缺。微框架中的“微”意味着 Flask 旨在保持核心簡單而易於擴展。
Flask 不會替你做出太多決策——比如使用何種數據庫。而那些 Flask 所選擇的——比如使用何種模板引擎——則很容易替換。除此之外的一切都由可由你掌握。如此,Flask 可以與您珠聯璧合。
默認情況下,Flask 不包含數據庫抽象層、表單驗證,或是其它任何已有多種庫可以勝任的功能。然而,Flask 支持用擴展來給應用添加這些功能,如同是 Flask 本身實現的一樣。眾多的擴展提供了數據庫集成、表單驗證、上傳處理、各種各樣的開放認證技術等功能。
2.主流框架的比較
目前階段,在市面上主流的web框架,就是Django、Tornado、Flask。
Django我們之前是學過的,tornado的話,還有接觸到,這里就大概描述一下。
Django
主要特點:大而全,集成了很多組件,例如: Models Admin Form 等等, 不管你用得到用不到,反正它全都有,屬於全能型框架。
Tornado
主要特點:原生異步非阻塞,在IO密集型應用和多任務處理上占據絕對性的優勢,屬於專注型框架。
Flask
主要特點:小而輕,原生組件幾乎為0, 三方提供的組件請參考Django 非常全面,屬於短小精悍型框架。
二、Flask安裝和簡單使用
1.安裝
1.通過pip3安裝Flask
pip3 install Flask
2.通過pycharm安裝
settings-interpreter中搜索flask安裝
2.關於werkzeug模塊
在django中通過wsgiref模塊實現了wsgi協議,而在flask中,這一部分被封裝在werkzeug中。
from werkzeug.wrappers import Request, Response @Request.application def hello(request): return Response('Hello World!') if __name__ == '__main__': from werkzeug.serving import run_simple run_simple('localhost', 4000, hello)
3.簡單的Flask項目
我們新建一個Flask-Project項目,實現最簡單的HelloWorld頁面。
在項目路徑下,新建flask01.py
from flask import Flask app = Flask(__name__) # 指定項目文件名字,也就是一個應用 # 定義路由匹配 @app.route("/") def hello_world(): return "Hello Flask" # 與django中的HttpResponse一樣 if __name__ == '__main__': app.run() # 運行項目
運行項目
* Debug mode: off # debug模式關閉 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
訪問http://127.0.0.1:5000/瀏覽器頁面出現Hello World