最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • django是什么

    正文概述    2020-07-22   530

    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 request;

    Django根据URL configuration分配至对应的View;

    View进行数据库的操作或其它运算;

    View层将数据发送到Template进行渲染,并传回HttpResponse内容;

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

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

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

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

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

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

    内置的分发系统允许应用程序中的组件采用预定义的信号进行相互间的通信。

    一个序列化系统,能够生成或读取采用XML或JSON表示的Django模型实例。

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

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

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

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

    一组产生 RSS 和 Atom 的工具和产生Google 站点地图 (Google Sitemaps)的工具

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

    一套协助创建地理信息系统(GIS)的基础框架

    一个灵活的评论系统

    防止跨站请求伪造(cross-site request forgery)的工具

    优缺点总结

    Django的主要目标是使得开发复杂的、数据库驱动的网站变得简单。Django注重组件的重用性和“可插拔性”,敏捷开发和DRY法则(Don’t Repeat Yourself)。在Django中Python被普遍使用,甚至包括配置文件和数据模型。

    Django优点:

    完美的文档,Django近乎完美的官方文档。

    全套的解决方案(full-stackframework + batteries included),基本要什么有什么(比如:cache、session、feed、orm、geo、auth),而且全部Django自己造,开发网站应手的工具Django基本都给你做好了,因此开发效率是不用说的。

    强大的URL路由配置,Django让你可以设计出非常优雅的URL。

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

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

    系统紧耦合,如果你觉得Django内置的某项功能不是很好,想用喜欢的第三方库来代替是很难的,比如说的ORM、Template。要在Django里用SQLAlchemy或Mako几乎是不可能,即使打了一些补丁用上了也会让你觉得非常非常别扭。

    自带的ORM远不如SQLAlchemy强大,SQLAlchemy是Python世界里事实上的ORM标准,其它框架都支持SQLAlchemy了,唯独Django仍然坚持自己的那一套。

    Template功能比较弱,不能插入Python代码,要写复杂一点的逻辑需要另外用Python实现Tag或Filter。

    URL配置虽然强大,但全部要手写,高手和初识Django的人配出来的URL会有很大差异。

    Django的auth跟其它模块结合紧密,功能也挺强,但做的有点过了,用户的数据库schema都给你定好了,比如很多网站要求email地址唯一,可schema里这个字段的值不是唯一的。


    起源地下载网 » django是什么

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元