您的位置:首页 > 编程语言 > Python开发

PHP的codeIgniter框架和python的Django框架之几点对比

2013-10-31 18:59 330 查看
1、codeigniter的业务逻辑在controller中,django的业务逻辑在views中。按照django文档

的说法,它的设计理念基于视图用来决定展现哪些数据和如何展现数据,而与之相对的,CI

的视图则只用来决定如何展现数据,选择哪些数据的部分则被装入了控制层。

2、Django的控制层主要在于URL配置文件,通过它来控制什么样的URL使用什么方法。CI的控

制层有专门的controllers类,通过URL路由来指定使用哪一个类的哪一个方法。

3、codeigniter的url路由只需要在controller中定义方法,然后框架会自动分析url找到对

应的类和方法。采用类、方法、参数的逐级路由形式。而django的url路由采用映射的方式,

手工在url配置文件里添加映射方法。这样貌似灵活度更高,但同时也增加了工作量。

4、CodeIgniter没有强调内置模板,视图文件即是网页文件,直接用php输出controller传来

的数据。controller的方法通过一个变量“data”传递所有数据到view文件。

  而Django强调模板概念,类似于格式信函的方式,把数据保存在context变量中,然后来渲

染模板文件。本质上“逻辑/页面”分离方式跟CodeIgniter差不多,但是页面文件要使用专

门的模板语言来写。

   在逻辑和页面的分离上,CodeIgniter更加轻量级,对于前后端都要程序员来写的人来说

更方便。而Django页面模板和后端用不同语言也许更适合团队分工明确的项目,对程序员来

说增加了学习成本。

另外,模板标签非常有用,可以让页面进一步分离而重用。

Django模板的本质就是载入html文件,对该文件进行分析并且进行各种操作(比如替换,增加标签等),

然后再发送给浏览器。

模板继承方便了复用代码。这一点比codeigniter好。

5、CI强制程序使用单入口,Django没有这个限制。而另一方面,CodeIgniter非常轻量级,可以自己随心所欲的添加和写代码,不需要拘束于框架本身,但Django就告诉你了一套规则,你必须按照它的这一套规则去做。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息