Flask

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

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

采用Flask的知名网站包括领英、Pinterest等。

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

当Ronacher和Georg Brandl在2004年开发一个用Python编写的布告板系统时，开发了Werkzeug和Jinja两个项目。

2016 年 4 月，Pocoo 团队解散，Flask 及相关库的开发移交给新成立的 Pallets 项目。

Flask在Python爱好者及开发者中很受欢迎。在2018年的一项面向Python开发者的调查中被评为最受欢迎的Web框架。截至2020年10月，它在GitHub上的Python Web开发框架中排名第二，仅略低于Django。

构件
微框架Flask基于了Pocoo计划的Werkzeug和Jinja2。
Werkzeug
Werkzeug是给Python编程语言的实用工具库，是用于Web服务器网关接口（WSGI）应用的工具箱，并在BSD许可证下发行。Werkzeug可以为请求、响应和实用功能实现软件对象。它可被用于在其上建造定制的软件框架，并支持Python 2.7和3.5及以后版本。

Jinja

Jinja也是Ronacher创作，是给Python编程语言的，并在BSD许可证下发行。类似于Django web框架，它在沙盒中处理模板。

 特色 
 內建開發用伺服器和调试器
 整合的單元測試支持
 RESTful请求分派
 使用Jinja2模板引擎
 支援安全cookie（客户端会话）
 100%的WSGI1.0相容
 基于Unicode
 詳細的文件、教學
 Google App Engine相容
 可用Extensions增加其他功能

 範例 
Flask可以在python环境中使用pypi等python包管理工具安装，以下的程式為印出Hello World的網頁程式：from flask import Flask
app = Flask(__name__)

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

if __name__ == "__main__":
    app.run()运行上述代码后，使用网页浏览器访问http://127.0.0.1:5000，即可看到网页浏览器中显示了“Hello World!”。

參見

 各網頁框架系統的比較
 Bottle

 參考 

 外部連結 


Category:自由軟件
Category:网站开发
Category:Python
Category:Web應用框架
Category:Python軟體
Category:Python库