Differences between revisions 3 and 6 (spanning 3 versions)
Revision 3 as of 2005-09-20 02:19:41
Size: 3435
Editor: limodou
Comment:
Revision 6 as of 2005-11-14 04:21:37
Size: 2058
Editor: ZoomQuiet
Comment:
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
=== TurboGears vs Django ===
{{{发件人: [email protected] <[email protected]>
回复: [email protected]
收件人: "python.cn" <[email protected]>
日期: 2005-9-19 下午9:32
主题: TurboGears vs Django
}}}
这几天从limodou兄的blog中看到 TurboGears 这个框架,
看完演示教程后相当为之惊艳.
==== TurboGears vs Django ====
===== gasolin 曰 =====
[[Include(TGvsDjGasolin)]]
===== limodou 曰 =====
{{{回复: [email protected]
收件人: python-chinese列表 <[email protected]>
日期: 2005-11-14 上午10:24
主题: [python-chinese] Django vs. TurboGears
}}} [wiki:PyCNmail/2005-November/019026.html Django vs. TurboGears]
[[]]
看到列表中讨论 Django 和 TurboGears 的多了起来,我想就这两个web framework提出自已的一些看法,因为哪个都算不上精通,只是对某些方面多一些罢了,至今天除了按照django的教程做了一下,某它的就没做过。TurboGears方面也只是学过CherryPy而已,不过我从我个人的关注角度出来,希望对它们进行比较一下,大家可以补充,让比较更客观。另外因为我对django关注稍多一些,可能对于turbogears有些不正确的观点,请大家见谅。
Line 20: Line 22:
Django 跟 TurboGears 的出现提供了一个相当 pythonic
的解决方案 (python + HTML :D).
 * '''django 比 TurboGears 的优点'''
Line 23: Line 24:
1. 自动的admin界面,有用户和组的管理,这些代码不用你写了
2. generic view,减少你写view的代码,模板当然还是要的
3. 模块及模板均支持i18n。
4. url采用正则表达示很有创意,这样可以规则你的url。另外通过正则表达式可以构造与方法调用无直接关系的链接形式,搜索引擎支持好。
5. django的模板还可以自已扩展,很有趣,可以增加新的tag和filter,而且写起来挺简单。
6. 有middleware,可以自已编写
7. 应用安装方便
8. 开发团队集中,目标一致
Line 24: Line 33:
不需要使用资料库查询语言或额外的资料库设计修改工具是一大特色. TurboGears 比 django 的优点
Line 26: Line 35:
1. OMR模块采用sqlobject,比django中的要成熟
2. 支持ajax
3. 充分利用了setuptools工具
4. 宣传力度大,人数多,相对django活跃
Line 27: Line 40:
TurboGears (Python) 是在 cherrypy +SQLObject等的基础之上整合相当成功的框架. 共同的优点:
Line 29: Line 42:
1. 文档做得都不错
2. 都象ror一样提供相应的命令行工具
Line 30: Line 45:
其计划的核心概念是不重复发明轮子, 而是把 python
中的各轮子组成有用的框架.
计划主要的工作是提供简化的安装, 设定, 操作,与文件.


之前 Ruby on rails 超热的时候似乎 python 社群有个 SUBWAY计划想达成类似的事情,
但一听就知道是想复制 ROR 的计划,并未提出相当的成果.

两者较不同的是 Django提供预设的资料库增删修改介面, 而 TGP似乎还没发展这块.

比起 Django 来说, TurboGears 更吸引我的是整合 AJAX 支援,

Django 跟 TurboGears 相比无论安装, 使用上都复杂许多,
而 Django 从头开发也意味着目前 python web开发社群要使用这框架也得多花费心力去学习.

TGP 是由 python script 组成的 controller 呼叫 SQLObject
来读出资料库中的资料,
再以字典形式传值到样板中当作动态语言的变数.

达成资料库(model)--controller--template (View) 的 MVC 架构

传出的格式如 {data=content, pagename=page.pagename}
这样一次收集所有用到的参数,
接收用[div] py:replace="data"/ Page text goes here.[/div]
这样在标签中加"py:replace"的格式插入参数,

Ruby on rails 或 Django 每加一页新的资料, 要处理的 MVC
关连似乎不及TurboGears 承袭 cherrypy
架构(不知有无说错?)的简单明了


TurboGears 教程中是由单一的 controller (标准的 python class) 呼叫 SQLObject来读出资料库中的资料,
再以字典形式传值到样板中当作动态语言的变数.

` 达成资料库(model)--controller--template (View) 的 MVC 架构`.

 由 controller 传出的格式如 `{data=content,pagename=page.pagename}`
一次收集网页样板将用到的 data 跟pagename 参数.

网页样板 template 接收用`[div] py:replace="data"]`
内容显示在这里 `[/div]`
实际显示时会将"内容显示在这里"这段替换成资料集"data"中的内容.

要在网页样板中调用这几个参数有两个方式.
第一种是可以在标签中加`py:replace="data"`, 来插入 data字典参数;

或是使用类似一般动态语言给参数的方式 `${data}` 插入data 字典参数.

注意第二种的格式还是跟 python调用字典的感觉很像.

间中用到的 HTML, ini 都算是基本的内容,
用起来没什么要另外学东西的负担.

Django (或 Ruby on rails)每加一页新的资料,
都要分别处理对应的 controller.
关连似乎不及 TurboGears 承袭 cherrypy 架构可使用单一
controller 的简单明了(不知有无说错?)
因此我认为相比之下 TurboGears 成功的机率更大些.
看一看大家有什么补充。

Pythonic Web 应用平台对比集

TableOfContents

1. TurboGears vs Django

1.1. gasolin 曰

Include(TGvsDjGasolin)

1.2. limodou 曰

{{{回复: [email protected] 收件人: python-chinese列表 <[email protected]> 日期: 2005-11-14 上午10:24 主题: [python-chinese] Django vs. TurboGears }}} [wiki:PyCNmail/2005-November/019026.html Django vs. TurboGears] [[]] 看到列表中讨论 Django 和 TurboGears 的多了起来,我想就这两个web framework提出自已的一些看法,因为哪个都算不上精通,只是对某些方面多一些罢了,至今天除了按照django的教程做了一下,某它的就没做过。TurboGears方面也只是学过CherryPy而已,不过我从我个人的关注角度出来,希望对它们进行比较一下,大家可以补充,让比较更客观。另外因为我对django关注稍多一些,可能对于turbogears有些不正确的观点,请大家见谅。

1. 自动的admin界面,有用户和组的管理,这些代码不用你写了 2. generic view,减少你写view的代码,模板当然还是要的 3. 模块及模板均支持i18n。 4. url采用正则表达示很有创意,这样可以规则你的url。另外通过正则表达式可以构造与方法调用无直接关系的链接形式,搜索引擎支持好。 5. django的模板还可以自已扩展,很有趣,可以增加新的tag和filter,而且写起来挺简单。 6. 有middleware,可以自已编写 7. 应用安装方便 8. 开发团队集中,目标一致

TurboGears 比 django 的优点

1. OMR模块采用sqlobject,比django中的要成熟 2. 支持ajax 3. 充分利用了setuptools工具 4. 宣传力度大,人数多,相对django活跃

共同的优点:

1. 文档做得都不错 2. 都象ror一样提供相应的命令行工具

看一看大家有什么补充。

PyWebFrameVs (last edited 2009-12-25 07:10:11 by localhost)