Flask
Template:NoteTA 脚本错误:没有“Infobox”这个模块。脚本错误:没有“Check for unknown parameters”这个模块。
Flask是一個使用Python編寫的輕量級Web應用框架。基於Werkzeug WSGI工具箱和Jinja2模板引擎。Flask使用BSD授權。
Flask被稱為“微框架”,因為它使用簡單的核心,用扩展增加其他功能。Flask沒有預設使用的資料庫、表單驗證工具。然而,Flask保留了擴增的彈性,可以用Flask-extension[1]加入這些功能:ORM、表單驗證工具、檔案上傳、各種開放式身份驗證技術。
采用Flask的知名网站包括领英、Pinterest等。[2][3]
歷史[编辑]
2004年,一群來自世界各地的Python熱衷者組成了Pocoo。[4]Flask的作者是來自Pocoo的Armin Ronacher。本來只是作者的一個愚人節玩笑,不過後來大受歡迎,進而成為一個正式的專案。[5][6]
当Ronacher和Georg Brandl在2004年开发一个用Python编写的布告板系统时,开发了Werkzeug和Jinja两个项目。[7]
2016 年 4 月,Pocoo 团队解散,Flask 及相关库的开发移交给新成立的 Pallets 项目。[8][9]
Flask在Python爱好者及开发者中很受欢迎。在2018年的一项面向Python开发者的调查中被评为最受欢迎的Web框架。[10]截至2020年10月,它在GitHub上的Python Web开发框架中排名第二,仅略低于Django。[11]
构件[编辑]
微框架Flask基于了Pocoo计划的Werkzeug和Jinja2。
- Werkzeug
Werkzeug是给Python编程语言的实用工具库,是用于Web服务器网关接口(WSGI)应用的工具箱,并在BSD许可证下发行。Werkzeug可以为请求、响应和实用功能实现软件对象。它可被用于在其上建造定制的软件框架,并支持Python 2.7和3.5及以后版本[12][13]。
- Jinja
脚本错误:没有“main”这个模块。 Jinja也是Ronacher创作,是给Python编程语言的Template:Le,并在BSD许可证下发行。类似于Django web框架,它在沙盒中处理模板。
特色[编辑]
- 內建開發用伺服器和调试器
- 整合的單元測試支持
- RESTful请求分派
- 使用Jinja2模板引擎
- 支援安全cookie(客户端会话)
- 100%的WSGI1.0相容
- 基于Unicode
- 詳細的文件、教學
- Google App Engine相容
- 可用Extensions增加其他功能
範例[编辑]
Flask可以在python环境中使用pypi等python包管理工具安装[13][14],以下的程式為印出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!”。[15]
參見[编辑]
脚本错误:没有“Portal”这个模块。
參考[编辑]
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ 13.0 13.1 Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
外部連結[编辑]
Template:Application frameworks Template:Python web frameworks