django简介——学习体会
学习django也有⼀⼩段时间了,于是乎决定再次⽤我这挫到不⾏的的写作⽔平写点东西分享⼀下学习⼼得。
⼀、什么是django
django是⼀个基于python语⾔的开源web开发框架,它和其它的web开发框架⼀样,⽤来⽀持动态⽹站、⽹络应⽤程序和⽹络服务的开发。⾄少到⽬前为⽌,它仍然是基于python 的web框架中⾸屈⼀指的。Django的主要⽬标是使得开发复杂的、数据库驱动的⽹站变得简单,它注重组件的可重⽤性和可插拔性,敏捷开发和DRY法则(Don't Repeat Yourself),它⼗分适⽤于初学web开发框架者,你可能只需要安装后做⼏处修改便能看到⼀个⼗分不错的⽹站呈现在你的⾯前,这也往往给⼈造成⼀种web开发⾮常简单的错觉。
⼆、django的优缺点
django的主要优势在于:
1)完善的官⽅⽂档:django的官⽅⽂档会伴随着每⼀次django版本的更新⽽更新,⽽随之更新的还会有官⽹的许许多多相关⽂档或开发实例,我觉得这是让每个程序员所喜欢的⼀点也是django最成功的⼀点;
2)全套的解决⽅案:django基本为每个开发⼈员提供了所有web开发中所需要⽤到的⼯具,包括ORM、chche、session等等,拿来就可以⽤,可以极⼤地提⾼开发效率;
3)完备的管理后台:你是新⼿?不知道如何写管理后台?这都不是问题,只需添加⼀条url就可以呈现⼗分让⼈满意的管理界⾯,界⾯中可以实时呈现你对模块的修改;
4)活跃的开发者社区:⽹上有许许多多⼤⼤⼩⼩的django社区,你可以随⼼所欲地去和其它同⾏沟通交流你的开发⼼得和碰到的各种问题,再也不⽤花很多时间去苦想碰到的⼀些稀奇古怪的问题。
⽽要说django的缺陷,也就在于它所提供的东西相对完善导致它⽐较封闭,若你⽐较喜欢⾃由,觉得某项功能不满意时,你很难⽤其它第三⽅替代,⽽这点和pyramid框架是完全相反的。
三、django的MTV模式
做过web开发的筒⼦们⼀定都知道MVC模式,它把web应⽤分为模型(Model)、视图(View)和控制器(Controller)三层,它们之间是以⼀种松耦合的⽅式进⾏连接,模型负责对象与数据库的映射,视图负责提供⽤户所看到的页⾯,控制器⽤于接受请求并通过调⽤模型和视图来对请求进⾏响应。
django当然是紧紧遵循Model-View-Controller(MVC)模式的,但是定义上有些许不同,由于django的
控制器是由框架⾃⾏处理,django ⾥更多关注的是模型(Model)、模块(Template)和视图(Views),因此它也被称为MTV框架。
M代表模型(Model):负责业务对象和数据库的映射关系(ORM);
T代表模块(Template):负责如何把页⾯展⽰给⽤户(html);
V代表视图(View):负责业务逻辑,根据需要调⽤Model和Template。
四、django⼯作流程
django接受请求、处理请求和响应请求的流程⼤致如下图所⽰:
1)客户端通过URL发送HTTP请求给web服务器中间件(在某场些景下,需要对django处理的每个请求都执⾏某段代码,这类代码可能是在view处理之前传⼊的请求,或者记录⽇志信息以便于调试,这
类功能都可以⽤django的中间件框件来实现);
2)中间件收到请求后,将请求转发给URL分发器;
3)URL分发器的作⽤是将⼀个个URL的页⾯请求分发给不同的view处理,由它在URLconf中查对应的view来处理该HTTP请求;
4)view调⽤相应的Model来操作数据库,调⽤Template给⽤户呈现界⾯,并封装成对应的HTTP响应;
5)view将HTTP响应返回给中间件;
6)中间件将HTTP响应返回给客户端。
django怎么学

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。