以前曾经用过PHP的框架
Codeigniter,印象不错,当时就曾经想过不知有没有好用的Python框架,看了这篇
对比之后,开始对Django有些兴趣,正好是周末,就试用一下看看:
在Ubuntu 7.10下可以直接安装django了,十分方便: sudo apt-get install python-django,django的框架结构和codeigniter类似(可能Web框架看起来都很像),但细节还是有很多的差异,并且django比codeigniter要"重量级"一些,提供了更多的功能。
- 语言方面是最大的差异,Python的强势可能使得django要底气更足一些,但PHP在Web方面显然要更成熟一些,最简单的例子是,想找一个支持python的hosting都不是很容易。
- django的URL映射比codeigniter要复杂,使用了单独的正则表达式来完成URL到Python函数的映射,codeigniter则直接将URL对应到class function。两种方式我看不出哪种更好,似乎django的方式扩展性要好一些,而codeigniter的方式要简单一些。
- 模板方面,django有自己的模板语言(但不强制使用),而codeigniter直接用php,这两个比较的话,django的模板显得要稍清晰一些。
- 数据库方面,django支持还算广泛,它的一套对象映射机制(ORM)还没有看完,不过我想应该不会比codeigniter的简单映射要差吧。
- 在设计方面,django强调松耦合和MTV(这个术语好奇怪,别人都用MVC,意思基本上是一样的),这个松耦合还是做的不错的,各处都有体现。
这些是基本的感觉,不过没有用它写过代码是不能妄下结论的,希望我还能写第二篇。。。