CherryPy与Django的比较

35

CherryPy和Django,你会选择哪一个以及为什么?

7个回答

44

他们并不完全可以比较。CherryPy 提供了 URL 路由和请求/响应抽象,使得原型设计非常容易(虽然我认为基本的 mod_python 同样方便)。Django 是一个完整的 Web 应用程序 "堆栈",包括模板系统和对象关系映射。


6
Django也提供了一个表单库,支持验证并在字段无效时将带有错误消息的表单重新呈现给用户。使用CherryPy时,如果需要这种功能,则需要评估和选择第三方表单库。 - Brandon Rhodes

12

Django非常庞大复杂,学习其中的函数、标签等内容需要花费大量时间。如果您完全掌握了Django,那么您绝对是一位计算机天才。 "full-stack" 意味着一切都可以使用,但必须花时间去寻找它 :(

CherryPy则轻巧干净得多,远没有那么复杂。比较起初步教程,1页纸和4页纸的差距就很明显了。这就像全能的Java和轻松简单的Perl之间的区别。

PS:Django的管理界面非常棒!!


11

虽然e.e. coli已经给出了被接受的答案(而且是一个很好的答案),但我想说CherryPy也可以直接实现WSGI。这意味着,与提到的mod_python方法(我相信它仍然是Apache-only解决方案)不同,它提供了对您的Web服务器的抽象。如果您一直使用Apache,则这并不是一个胜利,但如果您曾经想尝试轻量级Web服务器(例如Lighttpd),那么您可以在不必在Python应用程序中进行调整的情况下更换Web服务器。对我个人来说,这是一个巨大的胜利。

*我没有提到Django,因为我不是Django用户(我不喜欢“全栈”框架),所以我将任何关于它的评论留给它众多的粉丝 - 他们都比我更有资格回答有关它的问题。


3
Django也提供了WSGI可调用对象。 - Brandon Rhodes

6

选择Django,因为社区更加庞大。你会发现更多可用的第三方模块,并获得更多支持。


6

我会选择Django,因为它有着庞大的用户群和现有的模块(包括内置的管理界面)。但我认为CherryPy比Django更加灵活。你只需要查看可用选项,确定你想要做什么,并选择最好支持该功能的平台。


5

CherryPy是一个Web服务器“http框架”,而Django支持Web应用程序的前端至后端:它提供对象关系映射器、模板、会话管理,自动生成数据库模式和所有CRUD屏幕等功能。


4

我认为这两种技术都很不错,但我不是全栈框架的粉丝。CherryPy 更易于使用,也更加灵活。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接