werkzeug 德语名词:“工具”。词源:werk(“工作”),zeug(“东西”)
Werkzeug 是一个全面的 WSGI Web 应用程序库。它最初是作为各种 WSGI 应用程序的实用工具集合,后来发展成为最先进的 WSGI 实用工具库之一。
它包括:
- 一个交互式调试器,允许在浏览器中检查堆栈跟踪和源代码,并为堆栈中的任何帧提供交互式解释器。
- 一个功能齐全的请求对象,其中包含用于与标头、查询参数、表单数据、文件和 cookie 交互的对象。
- 一个响应对象,可以封装其他 WSGI 应用程序并处理流式数据。
- 一个用于将 URL 匹配到端点并为端点生成 URL 的路由系统,以及一个用于从 URL 捕获变量的可扩展系统。
- HTTP 实用工具,用于处理实体标签、缓存控制、日期、用户代理、cookie、文件等。
- 一个用于在本地开发应用程序时使用的多线程 WSGI 服务器。
- 一个测试客户端,用于在测试期间模拟 HTTP 请求,而无需运行服务器。
Werkzeug 不强制任何依赖项。由开发人员自行选择模板引擎、数据库适配器,甚至如何处理请求。它可以用于构建各种最终用户应用程序,例如博客、维基或公告板。
Flask 封装了 Werkzeug,利用它来处理 WSGI 的细节,同时为定义强大的应用程序提供更多的结构和模式。
# 将此保存为 app.py
from werkzeug.wrappers import Request, Response
@Request.application
def application(request: Request) -> Response:
return Response("Hello, World!")
if __name__ == "__main__":
from werkzeug.serving import run_simple
run_simple("127.0.0.1", 5000, application)$ python -m app
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Pallets 组织开发并支持 Werkzeug 以及其他流行软件包。为了壮大贡献者和用户的社区,并让维护者能够将更多时间投入到项目中,请立即捐赠。
有关多种贡献方式的详细信息,请参阅我们的详细贡献文档,包括报告问题、请求功能、提问或回答问题以及提交 PR。