道生一,一辈子二,二生三,三生万物
无名天地之始,有名万物之母
——老子python
python程序web项目开发,是很是重要的一部分,Python为基础的web项目开发的框架有不少,django无疑是最强大web框架之一,也是咱们必须掌握的框架之一web
框架(framework),就是已经包含了项目结构和部分通用功能的自动化处理工具,主要用于进行项目的快捷和高效的开发正则表达式
Python是一门编程语言,django只是基于python语言的一门技术,所谓技术,就是使用基础编程语言封装的工具;学语言~是学逻辑学思路,学技术是学应用学操做。数据库
举个简单的例子,学习语言,就相似于学习各类物质的组成成分(是原子组成的仍是分子组成的),简单一点铁这种物质是怎么构成的,有什么特性,能够用铁来作什么;学习框架,就相似于学习物质组成的物体的使用,给一个一把铁锤,须要学会使用铁锤,要学会使用铁锤砸核桃,砸墙可是不能够砸人哦。django
咱们能够看出来,学习语言实际上是让咱们扩展咱们大脑的知识库,是一件很是枯燥的事情;可是学习语言为基础的框架,你就可劲造吧~即时玩坏了大不了从头再来。编程
必定记住,学习框架,要敢写代码,敢玩代码,敢出错,敢从头再来后端
一般状况下,没有框架,也能够进行项目开发,可是全部的页面视图、模型数据、映射关系、数据库存储等等都须要手工进行开发和配置,比较耗时耗力,同时对于开发人员对程序语言的掌控很是的高,否则会形成不少潜在的bug,让项目出现不稳定的因素。
使用框架,能在必定程度上提高咱们软件开发的时效性,同时框架自己已经考虑到了各类软件使用的特性,如高并发特性、数据安全特性、项目通用功能等等,方便开发人员在掌握必定的语言技术的基础上,能够很快进入项目开发模式。浏览器
Django是一个python语言开发的、实现了MVC处理模式的用于动态网站的web框架。缓存
Django最初被设计的目的,是用来管理劳伦斯出版集团下的一些专门发布新闻动态内容的管理网站的【老大说,公司网站须要,就有了Django】安全
对于网站内容的管理和发布的操做流程,也称为内容管理系统。
也就是传说在后端快捷开发中流行的CMS系统(内容管理系统)
因为当时劳伦斯出版集团的老大,是比利时的吉普赛爵士吉他手Django Reinhart的粉丝,就以该吉他手的名字来对这个系统软件进行了命名,都说有钱任性~这个世界就是这么现实!
Django在劳伦斯出版集团通过几年的完善以后,终于于2005年7月被开源释放,通过不少开发界大咖一块儿改造并扩展了更增强大的功能以后,于2008年9月份发布了第一个正式版本1.0版本,目前官网最新的版本已经迭代更新到1.11.x版本,咱们的教程也会参考1.11版本的官方文档进行讲解
Django被设计的核心组件主要包含
Django自己是实现了MVC处理模式的一个框架、
MVC原本的设计思路是利用核心控制器(Controller:C)将咱们的视图(View:V)和模型数据(Model:M)关联起来造成一个总体的软件结构,利用模型数据和视图将咱们的展现和数据分离,利用控制器将咱们的静态数据和动态处理分离的一种设计思想
在Django中,控制器(Controller:C)的部分由框架自行处理,Django则更加注重于处理模型(Model)、模板(Template)、和视图(View),业界也成为MTV模式
层次 | 职责 |
---|---|
模型(Model) | 处理与数据相关的全部事务,数据定义、存取数据、数据验证等等 |
视图(View) | 处理与数据展现相关的功能,如在网页中或者其余文档中按照什么方式和布局展现数据 |
模板(Template) | 视图的一部分动态内容,用于展现处理模型中的数据,是模型和视图的桥梁 |
那么,Django能作什么?【这是咱们当前必需要明白的一个问题】
第1、Django是一个python语言为基础的web框架
第2、Django能够开发网站应用,如公司门户网站、学校官方网站、新闻动态网站、购物网站等等各类涉及小、中、大型的网站
第3、Django能够用于开发各类B/S结构的系统平台项目,如公司内部数据管理平台、公司工做流程管理平台、内容管理系统平台、OA办公系统平台等等
归根结底,Django是用来进行B/S结构的网络软件开发
关于软件,我想说点什么
软件,是计算机上能够运行的用于进行数据处理的程序
软件根据是否须要使用网络,划分为:单机软件、网络软件
单机软件:不须要联网,在一台PC上直接打开就可使用的软件,如用于写文档的word,计算机中的画图软件、计算器软件、暗黑破坏神2等等都是单机软件
网络软件:须要在联网的状况下,才能正常的使用软件中的各类功能,如QQ,淘宝,京东等等
网络软件,又划分为C/S结构的软件和B/S结构的软件 C/S结构的软件,主要是指client-server软件,也就是客户端服务器软件,这样的软件在使用的过程当中,须要下载软件的安装包,安装到咱们的我的PC上,而后打开联网使用,如QQ,英雄联盟等等 B/S结构的软件,主要是指browser-server软件,客户端只须要一个浏览器就能够,经过浏览器访问服务器上的数据,来完成软件的功能,如淘宝、京东相似的网站就是B/S结构的软件,咱们在客户端PC上只须要打开浏览器访问指定的URL地址,就能够进行购物等功能的使用了。