本页使用了标题或全文手工转换

Flask

维基百科,自由的百科全书
跳到导航 跳到搜索
Flask
Flask logo.svg
開發者Armin Ronacher
初始版本2010年4月1日 (2010-04-01)
穩定版本
2.0.1[1][2]在维基数据编辑(2021年5月21日,3個月前)
源代码库 編輯維基數據鏈接
编程语言Python
操作系统跨平台
类型Web應用框架
许可协议BSD
网站flask.pocoo.org

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

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

歷史[编辑]

2004年,一群來自世界各地的Python熱衷者組成了Pocoo。[4]

Flask的作者是來自Pocoo的Armin Ronacher。本來只是作者的一個愚人節玩笑,不過後來大受歡迎,進而成為一個正式的專案。[5][6] Flask受Ruby的Sinatra英语Sinatra_(software)影響。

构件[编辑]

微框架Flask基于了Pocoo计划的Werkzeug和Jinja2。

Werkzeug

Werkzeug是给Python编程语言的实用工具库,是用于Web服务器网关接口(WSGI)应用的工具箱,并在BSD许可证下发行。Werkzeug可以为请求、响应和实用功能实现软件对象。它可被用于在其上建造定制的软件框架,并支持Python 2.7和3.5及以后版本[7][8]

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()

參見[编辑]

參考[编辑]

  1. ^ Version 2.0.1. 2021年5月21日 [2021年5月22日]. 
  2. ^ Release 2.0.1. 2021年5月21日 [2021年6月21日]. 
  3. ^ Flask-extension. [2012-02-09]. (原始内容存档于2018-05-17). 
  4. ^ Pocoo Team. [2017-06-15]. (原始内容存档于2015-11-10). 
  5. ^ Ronacher, Armin. Opening the Flask (PDF). [September 30, 2011]. (原始内容存档 (PDF)于2012-03-30). 
  6. ^ Denied: the next generation python micro-web-framework (April Fools page). [September 30, 2011]. (原始内容存档于2011年9月4日). 
  7. ^ Ronacher, Armin. Werkzeug The Python WSGI Utility Library. palletsprojects.com. [27 May 2018]. 
  8. ^ Ronacher, Armin. Installation, Python Version. palletsprojects.com. [20 April 2020]. 

外部連結[编辑]