Flask是一个使用Python编写的轻量级Web应用框架。基于Werkzeug WSGI工具箱和Jinja2模板引擎。Flask使用BSD授权。

Quick Facts 开发者, 首次发布 ...
Flask
Thumb
开发者Armin Ronacher
首次发布2010年4月1日 (2010-04-01)
当前版本
  • 3.0.3 (2024年4月7日;稳定版本)[1]
编辑维基数据链接
源代码库 编辑维基数据链接
编程语言Python
操作系统跨平台
类型Web应用框架
许可协议BSD
网站flask.pocoo.org
Close

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

参见

参考

外部链接

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.