Python 之 Web 组件

参考:Web Components

为了与 WebFrameworks 上列出的某些框架一起使用,此页面上的组件/库/工具包经常尝试以可以与多个特定框架一起使用的方式来解决常见问题。这样的想法是,您选择可以完成特定工作的组件,并希望它可以与您在其中开发应用程序的框架一起使用。

授权工具包(Authorization Toolkits)(许多已经废弃,暂不考虑)

允许您向 Web 应用程序添加授权:

Form Handling

  • akornatskyy/wheezy.html 是具有模板引擎(template engines)预处理功能的轻量级 HTML 小部件渲染库。
  • akornatskyy/wheezy.validation 是轻量级的模型更新和验证库。
  • WTForms 是用于 Python Web 开发的表单验证和渲染库。
  • FormEncode FormEncode 是一个验证和表单生成程序包。
  • FormBuild 是一个软件包,旨在帮助生成 HTML 表单组件。
  • tw.forms 用于构建和验证表单的 Web 小部件。
  • Pylons/deform 是一个与框架无关(framework-agnostic)的功能强大的表单生成系统。

Request Dispatchers

调度程序接收请求(即用户键入的 URL),然后提供响应(即创建用户看到的网页的 Web 应用程序)。

  • akornatskyy/wheezy.routing 是一个轻量级的路径路由(path routing)库。这是 URL 模式(as plain simple strings, curly expressions or regular expressions)之间的简单映射,可以是您喜欢的任何处理程序。该映射可以包括其他映射并且是动态构造的。
  • bbangert/routes 是 Rails 路由系统的 Python 重新实现,用于将 URL 映射到 Controllers/Actions 并生成 URL。借助路由,可以轻松创建漂亮而简洁的 RESTful URL。
  • lukearno/selector 提供 WSGI 中间件,用于 URL 路径到 WSGI 应用程序的 “RESTful” 映射。
  • pallets/werkzeug文档)是全面的 WSGI Web 应用程序库。

Templating Engines

模板引擎使您可以将应用程序代码与演示文稿分开。这些引擎中的许多引擎可以单独使用,也可以在高级框架内使用。可以在“Templating”页面上找到更详细的列表。

  • akornatskyy/wheezy.template 用纯 Python 代码编写。这是一个轻量级的模板库。达到的设计目标:
    • 紧凑,富有表现力,整洁:最小化构建模板所需的击键次数。启用快速且良好阅读的编码。
    • 直观,无需学习:基本的 Python 编程技能以及 HTML 标记。您从一开始就富有成效。使用 Python 的全部功能,用最少的标记来表示 Python 语句。
    • 不要重复自己:继承的主版式模板(Master layout templates);includeimport 指令以最大程度地重用。
    • 惊人的快速:最高的渲染性能:极高的速度和上下文预处理器功能。
  • Jinja2 是一个小型但快速且易于使用的以纯 Python 编写的独立模板引擎。
  • malthe/chameleon 是 TAL 和 Genshi 语法的快速实现,可在首次使用时将模板编译为 Python 字节码。
  • ClearSilver 是适用于 Python/C/Perl 的模板框架,该模板系统用于 Google 网上论坛等
  • Mako 是一个全新的模板引擎,代表 Myghty 的最佳创意,这些创意被提炼为完全重写和更新的 API 和语法。
  • JonsPythonModules(1.06,2004-04-11发布),一组简单但功能强大的面向 Python 的多线程面向对象的 CGI/FastCGI/mod_python/html-templating 模块。
  • Cheetah 是 Python 驱动的模板引擎和代码生成器。它可以用作独立实用程序,也可以与其他工具组合使用。
  • Genshi 是一个 Python 库,它提供了一组集成的组件,用于解析,生成和处理 HTML,XML 或其他文本内容,以在 Web 上生成输出。

推荐阅读更多精彩内容