Remove ads

Flask是一個使用Python編寫的輕量級Web應用框架。基於Werkzeug WSGI工具箱和Jinja2模板引擎。Flask使用BSD授權。

快速預覽 開發者, 首次發佈 ...
Flask
Thumb
開發者Armin Ronacher
首次發佈2010年4月1日 (2010-04-01)
目前版本
  • 3.1.0(2024年11月13日;穩定版本)[1]
編輯維基數據連結
原始碼庫 編輯維基數據連結
程式語言Python
作業系統跨平台
類型Web應用框架
許可協定BSD
網站flask.pocoo.org
關閉

Flask被稱為「微框架」,因為它使用簡單的核心,用擴充增加其他功能。Flask沒有預設使用的資料庫、表單驗證工具。然而,Flask保留了擴增的彈性,可以用Flask-extension[2]加入這些功能:ORM、表單驗證工具、檔案上載、各種開放式身份驗證技術。

採用Flask的知名網站包括領英Pinterest等。[3][4]

歷史

2004年,一群來自世界各地的Python熱衷者組成了Pocoo。[5]Flask的作者是來自Pocoo的Armin Ronacher。本來只是作者的一個愚人節玩笑,不過後來大受歡迎,進而成為一個正式的專案。[6][7]

當Ronacher和Georg Brandl在2004年開發一個用Python編寫的佈告板系統時,開發了Werkzeug和Jinja兩個專案。[8]

2016 年 4 月,Pocoo 團隊解散,Flask 及相關庫的開發移交給新成立的 Pallets 專案。[9][10]

Flask在Python愛好者及開發者中很受歡迎。在2018年的一項面向Python開發者的調查中被評為最受歡迎的Web框架。[11]截至2020年10月,它在GitHub上的Python Web開發框架中排名第二,僅略低於Django。[12]

構件

微框架Flask基於了Pocoo計劃的Werkzeug和Jinja2。

Werkzeug

Werkzeug是給Python程式語言的實用工具庫,是用於Web伺服器閘道器介面(WSGI)應用的工具箱,並在BSD許可證下發行。Werkzeug可以為請求、響應和實用功能實現軟件對象。它可被用於在其上建造客製化的軟件框架,並支援Python 2.7和3.5及以後版本[13][14]

Jinja

Jinja也是Ronacher創作,是給Python程式語言的模板引擎英語Web template system,並在BSD許可證下發行。類似於Django web框架,它在沙盒中處理模板。

特色

  • 內建開發用伺服器和除錯器
  • 整合的單元測試支援
  • RESTful請求分派
  • 使用Jinja2模板引擎
  • 支援安全cookie(客戶端對談)
  • 100%的WSGI1.0相容
  • 基於Unicode
  • 詳細的檔案、教學
  • Google App Engine相容
  • 可用Extensions增加其他功能

範例

以下的程式為印出Hello World的網頁程式:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

參見

參考

Remove ads

外部連結

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.

Remove ads