1、软件框架
举个简单的例子,对于一个公司来说,公司中有各个职能部门,每个部门各司其职,通过部门之间的配合来完成工作,这些部门就形成了一个公司的组织架构。从某种意义上来说,公司就是一种框架。那么对应到软件设计上来说,软件框架是由其中的各个模块组成的,每个模块负责特定的功能,模块与模块之间相互协作来完成软件开发。
一个公司,它是针对某一市场而成立的,而软件框架的设计,也是针对某一类软件问题而设计的,其目的主要是提高软件开发效率。
2、Web框架
Web应用框架(Web application framework)是一种开发框架,用来支持动态网站、网络应用程序及网络服务的开发。
web框架: 别人已经设定好的一个web网站模板,你学习它的规则,然后“填空”或“修改”成你自己需要的样子。
优势:框架已经给我们提供了非常多的基础功能模块,开发效率非常高。
缺点:框架功能越多,定制性越难。
3、Django框架介绍
Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架。劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在BSD许可证下发布。
Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原则。
点击查看django官方网站:https://www.djangoproject.com/
点击查看django源码:https://github.com/django/django
4、Django的历史及版本选型
Django 2.0.x 支持 Python 3.4, 3.5 和 3.6 (最后一个支持 Python 3.4 的版本)
Django 2.1.x 支持 Python 3.5, 3.6 和 3.7
Django 2.2.x 支持 Python 3.5, 3.6 和 3.7 (LTS 长期支持版本)
一般来说,选择长期支持版本比较好。
5、Django框架执行原理
视图:views.py,定义视图函数或方法,每个函数的第一个参数必须为request(如果是方法,第二个参数为request)
Django得到用户的请求后,根据URL映射关系调用相应的视图,视图则调用和处理有关数据。在视图中通常完成:
(1)接收参数:通过request获取
(2)操作数据:调用模型model
(3)合成html正文:调用模板template,将数据渲染到页面上
(4)输出html:返回HttpResponse对象
模型:models.py,完成对数据库的所有操作。
模板:template,完成html静态页面的合成
6、Django的MTV模型组织
Django是一款python的web开发框架,属于MTV框架。
- m表示model,负责与数据库交互。数据存取层,模型是网站项目的基础,主要负责处理与数据相关的事务,如读取、写入数据等。
- v表示view,是核心,负责与用户的逻辑交互,业务逻辑层,包含存取模型及调用相应模板的相关逻辑,是M和T的桥梁,在Django得到用户的请求后,根据URL映射关系调用相应的视图,视图则调用和处理有关数据。与模板相比,视图确定访问者能看到哪些数据,而模板确定怎么看到这些数据。
- t表示template,显示层,负责显示页面,处理与表现有关的事务。