【生意多】-免费发布分类信息
当前位置: 首页 » 新闻 » 教程 » 正文

Django简介

放大字体  缩小字体 发布日期:2020-09-16 14:24:59    浏览次数:5
导读

  近期有不法分子盗用本站的文字和视频教程!现已收集证据,并向相关部门举报和提交材料!原创文章编写不易,视频教程更是呕心沥血之作,感谢各位朋友对本站的信任,恳求大家多多支持正版,谢谢!  那么,什么是Web开发?Web开发指的是开发基于B/S架构,通过前后端的配合,将后台服务器的数据在浏览器上展现给前台用户

  近期有不法分子盗用本站的文字和视频教程!现已收集证据,并向相关部门举报和提交材料!原创文章编写不易,视频教程更是呕心沥血之作,感谢各位朋友对本站的信任,恳求大家多多支持正版,谢谢!

  那么,什么是Web开发?Web开发指的是开发基于B/S架构,通过前后端的配合,将后台服务器的数据在浏览器上展现给前台用户的应用。比如将电子购物网站的商品数据在浏览器上展示给客户,在基于浏览器的学校系统管理平台上管理学生的数据,监控机房服务器的状态并将结果以图形化的形式展现出来等等。

  使用Python开发Web应用,最简单、原始和直接的办法是使用CGI标准,在二十年前这种方式很流行。它是如何做的呢? 以使用Python CGI脚本显示数据库中最新添加的10件商品为例:

  服务过程是这样的:首先,用户请求CGI,脚本代码打印Content-Type行等一些HTML的起始标签,然后连接数据库并执行一些查询操作,获取最新的十件商品的相关数据。在遍历这些商品的同时,生成一个商品的HTML列表项,然后输出HTML的结束标签并且关闭数据库连接。将生成的HTML代码保存到一个.cgi文件中,然后上传到网络服务器上,用户通过浏览器即可访问。

  如果应用中有多处需要连接数据库会怎样呢?每个独立的CGI脚本,不应该重复编写数据库连接相关的代码。

  前端、后端工程师以及数据库管理员集于一身,无法分工配合。设想一个前端设计师,完全没有Python开发经验,但是又需要编写SQL语句的话,会发生什么呢?(我有一句话不知当讲不当讲?)

  以上的问题是显而易见的,聪明的程序员在不断的碰到问题和解决问题,探索方案和实践方案中,重复了下面的过程:

  Web框架致力于解决一些共同的问题,为Web应用提供通用的架构,让用户专注于网站应用业务逻辑的开发,而无须处理网络应用底层的协议、线程、进程等方面的问题。这样能大大提高开发者的效率和Web应用程序的质量。

  大多数基于Python的web框架,如Django、tornado、flask、webpy都是在这个范围内进行增删裁剪的。例如Tornado用的是自己的异步非阻塞“WSGI”网关接口,Flask则只提供了最精简和基本的框架,Django则是直接使用了现成的WSGI,并实现了大部分功能,提供了大量的应用工具。

  Django是一个由Python编写的具有完整架站能力的开源Web框架。使用Django,只要很少的代码,Python的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的Web服务。

  Django本身基于MVC模型,即Model(模型)+View(视图)+ Controller(控制器)设计模式,因此天然具有MVC的出色基因:开发快捷、部署方便、可重用性高、维护成本低等。Python加Django是快速开发、设计、部署网站的最佳组合。

  Django诞生于2003年,2006年加入了BSD许可证,成为开源的Web框架。Django这一词语是根据比利时的爵士音乐家Django Reinhardt命名的,有希望Django能够优雅地演奏(开发)各种乐曲(Web应用)的美好含义。

  Django是由美国堪萨斯(Kansas)州Lawrence城中的一个新闻开发小组开发出来的。当时Lawrence Journal-World报纸的程序员Adrian Holovaty和Simon Willison用 Python 编写Web新闻应用,他们的World Online小组制作并维护了当地的几个新闻站点。新闻界独有的特点是快速迭代,从开发到上线,通常只有几天或几个小时的时间。为了能在截止时间前完成工作,Adrian和Simon打算开发一种通用的高效的网络应用开发框架,也就是Django。

  2005年的夏天,当这个框架开发完成时,它已经用来制作了很多个World Online的站点。不久,小组中的Jacob Kaplan-Moss决定把这个框架发布为一个开源软件,于是短短数年,Django项目就有着数以万计的用户和贡献者,在世界范围内广泛传播。 原来的World Online的两个开发者(Adrian and Jacob)仍然掌握着Django,但是其发展方向受社区团队的影响更大。

  功能完善、要素齐全:该有的、可以没有的都有,常用的、不常用的工具都用。Django提供了大量的特性和工具,无须你自己定义、组合、增删及修改。但是,在有些人眼里这被认为是‘臃肿’不够灵活,发挥不了程序员的主动能力。(一体机和DIY你更喜欢哪个?^-^)

  完善的文档:经过十多年的发展和完善,Django有广泛的实践经验和完善的在线文档(可惜大多数为英文)。开发者遇到问题时可以搜索在线文档寻求解决方案。

  强大的数据库访问组件:Django的Model层自带数据库ORM组件,使得开发者无须学习其他数据库访问技术(SQL、pymysql、SQLALchemy等)。当然你也可以不用Django自带的ORM,而是使用其它访问技术,比如SQLALchemy。

  丰富的Template模板语言:类似jinjia模板语言,不但原生功能丰富,还可以自定义模板标签。

  自带免费的后台管理系统:只需要通过简单的几行配置和代码就可以实现一个完整的后台数据管理控制平台。

  完整的错误信息提示:在开发调试过程中如果出现运行错误或者异常,Django可以提供非常完整的错误信息帮助定位问题。

  在目前基于Python语言的几十个Web开发框架中,几乎所有的全栈框架都强制或引导开发者使用MVC设计模式。所谓全栈框架,是指除了封装网络和线程操作,还提供HTTP、数据库读写管理、HTML模板引擎等一系列功能的Web框架,比如Django、Tornado和Flask。

  最早由Trygve Teenskaug在1978年提出,上世纪80年代是程序语言Smalltalk的一种内部架构。后来MVC被其他领域借鉴,成为了软件工程中的一种软件架构模式。MVC把Web框架分为3个基础部分:

  模型(Model):用于封装与应用程序的业务逻辑相关的数据及对数据的处理方法,是Web应用程序中用于处理应用程序的数据逻辑的部分,Model只提供功能性的接口,通过这些接口可以获取Model的所有功能。白话说,这个模块就是Web框架和数据库的交互层。

  控制器(Controller):负责从用户端收集用户的输入,可以看成提供View的反向功能。

  这三个部分互相独立,但又相互联系,使得改进和升级界面及用户交互流程,在Web开发过程任务分配时,不需要重写业务逻辑及数据访问代码。

  Django对传统的MVC设计模式进行了修改,将视图分成View模块和Template模块两部分,将动态的逻辑处理与静态的页面展现分离开。而Model采用了ORM技术,将关系型数据库表抽象成面向对象的Python类,将表操作转换成类操作,避免了复杂的SQL语句编写。MTV和MVC本质上是一样的。

  博主,建议左边目录不要跟随右边正文滚动,看着太碍眼了。来阅读只想静静地看的,但左边一滚动,注意力都在左边了

  好吧,跟着滚动是你们说的,不滚也是你们说的。宝宝也好难啊。 不过,我内心也是偏向固定形式的,哈哈。

 
关键词: 刘江django
(文/小编)
打赏
免责声明
• 
本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:https://www.31duo.com/news/show-545478.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
 

(c)2016-2019 31DUO.COM All Rights Reserved浙ICP备19001410号-4

浙ICP备19001410号-4