flask依賴兩個外部庫:werkzeug 和 jinja2。werkzeug是乙個wsgi(在web應用和多種伺服器之間的標準python介面)工具集。jinja2負責渲染模板。
對於werkzeug本質是socket服務端,其用於接收http請求並對請求進行預處理,然後觸發flask框架,開發人員基於flask框架提供的功能對請求進行相應的處理,並返回給使用者,如果要返回給使用者複雜的內容時,需要借助jinja2模板來實現對模板的處理,即:將模板和資料進行渲染,將渲染後的字串返回給使用者瀏覽器。
flask的"微",不代表flask功能不強,微型框架的目標是保持核心簡單而又可擴充套件。一切都由開發者自主定製使用。預設情況下,flask 不包含資料庫抽象層、表單驗證或者其他已有的庫可以處理的東西。 然而, flask 通過擴充套件為你的應用新增這些功能,就如同這些功能是 flask 生的一樣。 大量的擴充套件用以支援資料庫整合、表單驗證、上傳處理和各種開放驗證等等。flask 可能是 「微小」的,但它已經為滿足您的各種生產需要做出了充足的準備。
按照慣例, 模板和靜態檔案存放在應用的 python 源**樹的子目錄中,名稱分別為 templates和static
。慣例是可以改變的,但是你大可不必改變。
django 通常用於大型web應用由於內建元件足夠強大所以使用django開發可以一氣呵成
tornado 通常用於api後端應用,遊戲服務後台,其內部實現的非同步非阻塞真是穩得一批
flask 通常應用於小型應用和快速構建應用,其強大的三方庫,足以支撐乙個大型的web應用
django 優點是大而全,缺點也就暴露出來了,這麼多的資源一次性全部載入,肯定會造成一部分的資源浪費
tornado 優點是非同步,缺點是乾淨,連個session都不支援
flask 優點是精悍簡單,缺點是不穩定,若flask版本公升級,新版flask可能不支援原第三方庫版本。
pip install flask
from flask import flask# 例項化乙個flask物件
# 路由裝飾器
def hello_world(): # 檢視函式
return "hello world"
if __name__ == '__main__':
# 啟動flask專案; 預設埠5000; debug自動重啟
flask框架(一) 初識Flask
一 初識flask 1.什麼是flask flask是乙個python編寫的web框架,只是乙個核心,預設依賴2個外部庫 jinja2模板引擎和wsgi工具集 werkzeug。2.安裝flask pip install flask3.建立flask程式 專案目錄詳解 static資料夾 用於存放各...
Python全棧(一),flask框架基礎
flask是一款非常流行的python web框架,出生於2010年,作者是armin ronacher,本來這個專案只是作者在愚人節的乙個玩笑,後來由於非常受歡迎,進而成為乙個正式的專案。flask自2010年發布第乙個版本以來,大受歡迎,深得開發者的喜愛,並且在多個公司已經得到了應用,flask...
flask框架安裝
flask是乙個基於python開發並且依賴jinja2模板和werkzeug wsgi服務的乙個微型框架,對於werkzeug本質是socket服務端,其用於接收http請求並對請求進行預處理,然後觸發flask框架,開發人員基於flask框架提供的功能對請求進行相應的處理,並返回給使用者,如果要...