<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=CherryPy</id>
	<title>CherryPy - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=CherryPy"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=CherryPy&amp;action=history"/>
	<updated>2026-06-27T10:50:41Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=CherryPy&amp;diff=3633756&amp;oldid=prev</id>
		<title>imported&gt;SchlurcherBot：​Bot: http → https</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=CherryPy&amp;diff=3633756&amp;oldid=prev"/>
		<updated>2026-01-24T06:46:06Z</updated>

		<summary type="html">&lt;p&gt;Bot: http → https&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{NoteTA|G1=IT}}&lt;br /&gt;
{{Infobox software&lt;br /&gt;
| name = CherryPy&lt;br /&gt;
| caption = CherryPy库&lt;br /&gt;
| developer = [https://bitbucket.org/cherrypy/cherrypy/wiki/CherryPyTeam CherryPy team]&lt;br /&gt;
| released = {{Start date and age|2002|06}}&amp;lt;ref&amp;gt;{{cite web|title=History of CherryPy|url=https://subscription.packtpub.com/book/web_development/9781904811848/1/ch01lvl1sec09/history-of-cherrypy|access-date=2021-03-12|archive-date=2018-12-15|archive-url=https://web.archive.org/web/20181215022039/https://subscription.packtpub.com/book/web_development/9781904811848/1/ch01lvl1sec09/history-of-cherrypy}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| repo = {{URL|https://github.com/cherrypy/cherrypy|CherryPy Repository}}&lt;br /&gt;
| programming language = [[Python]]&lt;br /&gt;
| operating_system = [[跨平台]]&lt;br /&gt;
| genre = [[Web应用框架]]&lt;br /&gt;
| license = [[BSD许可证]]&amp;lt;ref name=&amp;quot;license-bitbucket&amp;quot;&amp;gt;{{Cite web|url=https://bitbucket.org/cherrypy/cherrypy/src/1f32d95ca00d3bb7b7c8e435a47747fe1d63b190/cherrypy/LICENSE.txt|access-date=2015-02-21|publisher=BitBucket|title=cherrypy / CherryPy / source / cherrypy / LICENSE.txt|archive-date=2017-07-15|archive-url=https://web.archive.org/web/20170715092634/https://bitbucket.org/cherrypy/cherrypy/src/1f32d95ca00d3bb7b7c8e435a47747fe1d63b190/cherrypy/LICENSE.txt}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| website = {{url|https://cherrypy.org/}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CherryPy&amp;#039;&amp;#039;&amp;#039;是一个[[面向对象编程|面向对象]]的[[web应用框架]]，使用了[[Python]][[编程语言]]。它设计用于[[网络应用程序|web应用]]的[[快速应用开发|快速开发]]，通过[[适配器模式|包裹]][[超文本传输协议|HTTP协议]]，但停留在低层而不提供超出&amp;lt;nowiki&amp;gt;RFC 7231&amp;lt;/nowiki&amp;gt;所定义的东西。&lt;br /&gt;
&lt;br /&gt;
CherryPy自身可以是个web服务器，也可以通过任何[[Web服务器网关接口|WSGI]]兼容环境来启动它。它不处置用于输出呈现的模板或后端访问的任务。这个框架可以采用过滤器来扩展，它被调用于请求/响应处理的确定点上。&lt;br /&gt;
&lt;br /&gt;
==Python化接口==&lt;br /&gt;
这个项目创立者{{le|Remi Delon}}的目标之一，是使得CherryPy尽可能的体现[[Python之禅|Python原则]]。这允许开发者将这个框架同任何正规Python模块一样的使用，而忘记（从技术的角度）这个应用是用于web。&lt;br /&gt;
&lt;br /&gt;
例如，常见的[[Hello World]]程序用CherryPy 3将写为如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import cherrypy&lt;br /&gt;
&lt;br /&gt;
class HelloWorld:&lt;br /&gt;
    def index(self):&lt;br /&gt;
        return &amp;quot;Hello World!&amp;quot;&lt;br /&gt;
    index.exposed = True&lt;br /&gt;
&lt;br /&gt;
cherrypy.quickstart(HelloWorld())&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==特征==&lt;br /&gt;
CherryPy实现了：&lt;br /&gt;
* 遵循[[HTTP]]/1.1、[[Web服务器网关接口|WSGI]]的[[线程池]]的webserver&amp;lt;ref&amp;gt;{{Cite web |url=http://www.cherrypy.org/#Features |title=存档副本 |access-date=2021-03-12 |archive-date=2021-05-14 |archive-url=https://web.archive.org/web/20210514234054/https://cherrypy.org/#Features }}&amp;lt;/ref&amp;gt;。典型的，CherryPy自身每页只用1–2ms&amp;lt;ref&amp;gt;{{Cite web |url=http://www.aminus.org/blogs/index.php/2006/12/23/cherrypy_3_has_fastest_wsgi_server_yet |title=CherryPy v3 WSGI server benchmark results |access-date=2009-09-23 |archive-url=https://web.archive.org/web/20160303200606/http://www.aminus.org/blogs/index.php/2006/12/23/cherrypy_3_has_fastest_wsgi_server_yet |archive-date=2016-03-03 }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://www.cherrypy.org/wiki/CherryPySpeed How fast is CherryPy?] {{webarchive |url=https://web.archive.org/web/20100210133216/http://www.cherrypy.org/wiki/CherryPySpeed |date=2010-02-10 }}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* 支持任何任何其他启用WSGI的[[web服务器]]或适配器，包括[[Apache HTTP Server|Apache]]、[[互联网信息服务|IIS]]、[[lighttpd]]、{{le|mod_python}}、[[FastCGI]]、[[SCGI]]和{{le|mod_wsgi}}。&lt;br /&gt;
* 一个原生的{{le|mod_python}}适配器。&lt;br /&gt;
* 多个HTTP服务器（就是有能力监听多个端口）&amp;lt;ref&amp;gt;{{Cite web |url=http://tools.cherrypy.org/wiki/MultipleHttpServers |title=How to set up multiple HTTP servers with CherryPy |access-date=2009-09-23 |archive-url=https://web.archive.org/web/20160303175022/http://tools.cherrypy.org/wiki/MultipleHttpServers |archive-date=2016-03-03  }}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* 一个[[插件]]系统&amp;lt;ref&amp;gt;[http://www.cherrypy.org/wiki/CustomPlugins Custom engine plugins with CherryPy] {{webarchive |url=https://web.archive.org/web/20090503091300/http://www.cherrypy.org/wiki/CustomPlugins |date=2009-05-03 }}&amp;lt;/ref&amp;gt;，CherryPy插件挂钩到在服务器进程内的事件，服务器启动、服务器关闭、服务器退出等，用来执行在服务器启动和关闭时需要运行的代码。&lt;br /&gt;
* 内建工具用于[[web缓存|缓存]]、[[字符编码|编码]]、[[会话 (计算机科学)|会话]]、[[授權 (資安)|授权]]、静态内容和其他。CherryPy工具挂钩到在请求处理内的事件。在CherryPy服务器收到一个请求的时候，它有一组特定的步骤要履行来处理这个请求。页面处理器只是这个处理的步骤之一。工具还提供语法和配置API来为特定集合的处理器而打开和关闭它们。&lt;br /&gt;
* 给开发者和部署者的一个配置系统&amp;lt;ref&amp;gt;[http://www.cherrypy.org/chrome/common/2.2/docs/book/chunk/ch03.html#id3467720 Configuration system of CherryPy] {{webarchive |url=https://web.archive.org/web/20090626050839/http://www.cherrypy.org/chrome/common/2.2/docs/book/chunk/ch03.html#id3467720 |date=2009-06-26 }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://www.cherrypy.org/wiki/ConfigAPI Configuration API of CherryPy] {{webarchive |url=https://web.archive.org/web/20090701025825/http://www.cherrypy.org/wiki/ConfigAPI |date=2009-07-01 }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |url=http://docs.turbogears.org/1.0/Configuration#id5 |title=Short summary of configuration options |access-date=2021-03-12 |archive-date=2010-08-18 |archive-url=https://web.archive.org/web/20100818231635/http://docs.turbogears.org/1.0/Configuration#id5 }}&amp;lt;/ref&amp;gt;。CherryPy部署可配置于站点上、应用上和在控制器层面上，通过Python字典、配置文件和打开文件对象。&lt;br /&gt;
* 一个完全的[[测试套件]]用于核心功能和有关框架，可以用来测试CherryPy应用&amp;lt;ref&amp;gt;[http://www.cherrypy.org/wiki/Testing How to test CherryPy itself] {{webarchive |url=https://web.archive.org/web/20090927033305/http://www.cherrypy.org/wiki/Testing |date=2009-09-27 }}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* 内建[[性能分析|剖析]]自从v2.1&amp;lt;ref&amp;gt;[http://www.cherrypy.org/wiki/WhatsNewIn21#NewProfilermodule Profiler module of CherryPy] {{webarchive |url=https://web.archive.org/web/20100209001310/http://www.cherrypy.org/wiki/WhatsNewIn21#NewProfilermodule |date=2010-02-09 }}&amp;lt;/ref&amp;gt;、[[代码覆盖|覆盖]]&amp;lt;ref&amp;gt;{{Cite web |url=http://www.aminus.org/blogs/index.php/2005/08/19/code_coverage_with_cherrypy_2_1?blog=2 |title=How to collect and the analyse coverage data of application code with CherryPy |access-date=2009-09-23 |archive-url=https://web.archive.org/web/20151117025544/http://www.aminus.org/blogs/index.php/2005/08/19/code_coverage_with_cherrypy_2_1?blog=2 |archive-date=2015-11-17 }}&amp;lt;/ref&amp;gt;和测试支持。&lt;br /&gt;
&lt;br /&gt;
CherryPy不强制使用特定[[对象关系映射器]]（ORM）、{{le|Web模板系统|Web template system|模板语言}}或[[JavaScript库]]。&lt;br /&gt;
&lt;br /&gt;
===可用于CherryPy的模块===&lt;br /&gt;
* Routes，一个[[Ruby on Rails]]的路由系统的Python重新实现，用于映射[[URL]]到控制器/行动和生成URL&amp;lt;ref&amp;gt;{{Cite web |url=https://routes.readthedocs.io/en/latest/ |title=Routes Documentation |access-date=2021-03-13 |archive-date=2019-11-28 |archive-url=https://web.archive.org/web/20191128201941/https://routes.readthedocs.io/en/latest/ }}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
====对象关系映射器====&lt;br /&gt;
* [[SQLAlchemy]]，用于Python应用的一个数据库后端和[[对象关系映射|ORM]]。&lt;br /&gt;
* [[SQLObject]]，一个流行的[[对象关系映射|ORM]]用于提供到数据库的对象接口。支持很多常见数据库后端：包括在发行中的有[[MySQL]]、[[PostgreSQL]]、[[SQLite]]、[[Sybase SQL Server]]、[[MaxDB]]、[[Microsoft SQL Server]]和[[Firebird (数据库)|Firebird]]。&lt;br /&gt;
* {{le|Storm (软件)|Storm (software)|Storm}}，[[Canonical]]公司的[[对象关系映射|ORM]]。&lt;br /&gt;
* MongoEngine，用于连接到[[MongoDB]]的[[对象关系映射|ODM]]&amp;lt;ref&amp;gt;{{cite web |url=http://mongoengine.org/ |title=mongoengine.org |access-date=2021-03-13 |archive-date=2021-01-17 |archive-url=https://web.archive.org/web/20210117144122/http://mongoengine.org/ }}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
====模板语言====&lt;br /&gt;
* Mako&amp;lt;ref&amp;gt;{{Cite web |url=https://www.makotemplates.org/ |title=Mako Templates for Python |access-date=2021-03-12 |archive-date=2021-05-11 |archive-url=https://web.archive.org/web/20210511153743/https://www.makotemplates.org/ }}&amp;lt;/ref&amp;gt;，用Python写的模板库，可用于简单的CherryPy工具&amp;lt;ref&amp;gt;{{Cite web |url=http://tools.cherrypy.org/wiki/Mako |title=A simple CherryPy tool for Mako templating |access-date=2009-09-21 |archive-url=https://web.archive.org/web/20160303201627/http://tools.cherrypy.org/wiki/Mako |archive-date=2016-03-03 }}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* {{le|CheetahTemplate||Cheetah}}，开源{{le|Web模板系统|Web template system|模板引擎}}和代码生成工具，用Python写成。&lt;br /&gt;
* CherryTemplate，CherryPy的模板语言。&lt;br /&gt;
* {{le|Genshi (模板语言)|Genshi (templating language)|Genshi}}&amp;lt;ref&amp;gt;{{cite web|url=http://genshi.edgewall.org/wiki/CherryPy|title=CherryPy – Genshi|access-date=2009-09-26|archive-date=2012-07-04|archive-url=https://www.webcitation.org/68trwhFFO?url=http://genshi.edgewall.org/wiki/CherryPy}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://tools.cherrypy.org/wiki/Genshi|title=Genshi - CherryPy Tools - Trac|access-date=2009-09-26|archive-url=https://web.archive.org/web/20120227062117/http://tools.cherrypy.org/wiki/Genshi|archive-date=2012-02-27}}&amp;lt;/ref&amp;gt;，强力的XML模板引擎。&lt;br /&gt;
* [[Jinja2|Jinja]]，通用模板语言。CherryPy拥有使用Jinja模板的一个工具&amp;lt;ref&amp;gt;{{Cite web |url=http://tools.cherrypy.org/wiki/Jinja |title=A basic CherryPy Tool for using Jinja templates |access-date=2009-09-23 |archive-url=https://web.archive.org/web/20150905175257/http://tools.cherrypy.org/wiki/Jinja |archive-date=2015-09-05}}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* {{le|Kid (模板语言)|Kid (templating language)|Kid}}，一个简单的模板语言，用于基于XML的用Python写的词汇表。&lt;br /&gt;
&lt;br /&gt;
==参见==&lt;br /&gt;
* [[各網頁框架系統的比較]]&lt;br /&gt;
&lt;br /&gt;
==引用==&lt;br /&gt;
{{Reflist|30em}}&lt;br /&gt;
&lt;br /&gt;
==外部链接==&lt;br /&gt;
*{{Official website}}&lt;br /&gt;
{{Python web frameworks}}&lt;br /&gt;
{{Web frameworks}}&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Cherrypy}}&lt;br /&gt;
[[Category:Python库]]&lt;br /&gt;
[[Category:web应用框架]]&lt;br /&gt;
[[Category:使用BSD许可证的软件]]&lt;/div&gt;</summary>
		<author><name>imported&gt;SchlurcherBot</name></author>
	</entry>
</feed>