django是什么意思,django是什么怪兽

  django是什么意思,django是什么怪兽

  Django是什么?

  Django是一个基于Python的Web应用框架。它不同于Python的另一个Web框架Flask,它追求的是“万物”的哲学。其思想是,创建Web应用程序所需的所有通用功能都应该包含在框架中,而不应该存在于独立的软件包中。比如认证、URL路由、模板系统、对象关系映射(ORM)、数据库迁移都包含在Django框架中。虽然看起来失去了一些灵活性,但是可以让你更有效率的建立网站。

  Django最初是为了管理劳伦斯出版集团旗下的一些基于新闻的网站而开发的。所以我们可以发现很多使用Django的网站都是作为CMS(内容管理系统)使用的。

  Django的工作方式

  Django是一个MTV框架,它的架构模板看起来和传统的MVC框架没有太大区别。Django将MVC中的视图进一步分解为Django视图和Django模板两部分,分别决定“显示哪些数据”和“如何显示”,这样Django的模板就可以根据需要随时替换,而不仅仅局限于内置的模板。至于MVC控制器,是用Django框架的URLconf实现的。

  具体流程:

  发出HTTP请求;通过浏览器;

  Django被分配给相应的视图;根据URL配置;

  查看数据库操作或其他操作;

  视图层将数据发送给模板进行渲染,返回HttpResponse的内容;

  浏览器根据HTTP响应显示网页内容。

  Django框架的核心包括:一个面向对象映射器(ORM),作为数据模型(在Python类中定义)和关系数据库之间的媒介;一个基于正则表达式的URL分配器:一个处理请求的视图系统:和模板系统。此外,它还包括:

  用于开发和测试的轻量级独立Web服务器。

  表单序列化和验证系统用于HTML表单和适合数据库存储的数据之间的转换。

  一个缓存框架,有几种缓存方法可供选择。

  中间件支持,允许在请求处理的各个阶段进行干预。

  内置的分布系统允许应用程序中的组件通过使用预定义的信号相互通信。

  一个序列化系统,可以生成或读取XML或JSON格式的Django模型实例。

  一种用于扩展模板引擎能力的系统。

  一个可扩展的认证系统,用户登录和权限检查,可以快速开发用户会话功能。

  国际化:内置的国际化系统方便了多语言网站的开发。

  自动化管理界面:您不需要花费大量工作来创建人员来管理和更新内容。

  一组用于生成RSS和Atom的工具以及用于生成Google站点地图的工具。

  一组支持轻量级标记语言(Textile和Markdown)的模板库

  帮助创建地理信息系统(GIS)的基本框架

  灵活的评论系统

  防止跨站点请求伪造的工具

  优缺点总结

  Django的主要目标是让开发复杂的、数据库驱动的网站变得容易。Django注重组件的复用性和“可插拔性”,敏捷开发,不重复自己。Python在Django中被广泛使用,甚至包括配置文件和数据模型。

  Django优点:

  完美的文件,姜戈近乎完美的官方文件。

  一整套解决方案(含全栈框架电池),基本上你需要的一切(如:cache、session、feed、orm、geo、auth),全部Django自己做。Django,开发网站应该用的工具,基本都给你做好了,开发效率就不用说了。

  凭借强大的URL路由配置,Django允许您设计一个非常优雅的URL。

  自助后台管理让你几乎不用写一行代码就能拥有一个完整的后台管理界面。

  Django的缺点:(来自Django坚持自己造所有轮子,整个系统相对封闭)

  该系统是紧密耦合的。如果你觉得Django的某个内置功能不是很好,很难用喜欢的第三方库来替代,比如ORM,Template。在Django几乎不可能使用SQLAlchemy或者樱井真子,甚至在一些补丁之后,会让你感到非常非常不舒服。

  它自己的ORM远不如SQLAlchemy强大,SQLAlchemy是Python世界中事实上的ORM标准。其他框架都支持SQLAlchemy,但是Django还是坚持自己的一套。

  模板的功能较弱,无法插入Python代码。要编写更复杂的逻辑,需要用Python实现Tag或Filter。

  虽然URL配置很强大,但是全部都要手写,一个高手和初识Django的人准备的URL会有很大差别。

  Django的auth与其他模块紧密结合,功能相当强大,但有些过头。已经为您设置了用户的数据库模式。例如,许多网站要求唯一的电子邮件地址,但是模式中该字段的值不是唯一的。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: