Flask 簡介
1、簡介
Flask誕生于2010年,是Armin ronacher用Python語言基于Werkzeug工具箱編寫的輕量級Web開發框架,又稱之為微框架。
-
"微"的含義:Flask旨在保持核心簡潔,本身相當于內核,其他功能需通過擴展實現(如郵件擴展Flask-Mail,用戶認證Flask-Login)
-
核心組件:
-
WSGI工具箱:Werkzeug(路由模塊)
-
模板引擎:Jinja2
-
-
特性:
-
無默認數據庫(可選擇MySQL/NoSQL)
-
通過Flask-extension可集成ORM、窗體驗證、文件上傳、身份驗證等功能
-
設計理念強調靈活性,不束縛開發者思想
-
flask官方中文文檔:前言 — Flask 0.10.1 文檔
Django vs Flask
框架 | 設計理念 | 功能特點 |
---|---|---|
Django | "精裝修房子"<br>一站式解決方案 | 集成MVT模式、ORM、后臺管理 |
Flask | "待裝修房子"<br>微內核架構 | 僅提供核心路由分發<br>功能需通過擴展實現 |
常用擴展包
-
數據庫:Flask-SQLalchemy(操作數據庫)、Flask-migrate(數據庫遷移)
-
功能擴展:
-
Flask-Mail(郵件)
-
Flask-WTF(表單)
-
Flask-script(腳本插入)
-
Flask-Login(用戶認證)
-
-
API開發:Flask-RESTful(REST API工具)
-
前端集成:Flask-Bootstrap(Twitter Bootstrap框架)
-
工具類:Flask-Moment(日期本地化)、Flask-Uploads(文件上傳)
2、Flask與Django的對比
Django 功能全景
django-admin ? ? ? # 快速創建項目工程目錄 ? manage.py ? ? ? ? # 管理項目工程 ? ORM ? ? ? ? ? ? ? # 數據庫抽象層 ? Admin后臺 ? ? ? ? # 管理站點 ? 緩存機制 ? ? ? ? ? # 內置緩存支持 ? 文件存儲系統 ? ? ? ? # 統一文件管理 ? 用戶認證系統 ? ? ? ? # 開箱即用
Flask 核心定位
-
輕量級架構:核心僅包含Werkzeug(路由)和Jinja2(模板引擎)
-
擴展驅動:無內置后臺管理/表單/ORM,需通過第三方擴展實現
-
自由度高:開發者按需組合功能模塊(如待裝修房子自主設計)