Django的简介安装与配置及两大设计模式1

简介: Django的简介安装与配置及两大设计模式1

一.Djang的介绍

1.Django是什么

Django 是使用 Python 语言开发的一款免费而且开源的 Web 应用框架。

由于 Python 语言的跨平台性,所以 Django 同样支持 Windows、Linux 和 Mac 系统。

在 Python 语言炽手可热的当下,Django 也迅速的崛起,在 Web 开发领域占有一席之地。

基于 Python 开发的框架除了 Django 外,还有可以实现快速建站 Flask 和支持高并发处理的 Tornado ,而 Django 是最有代表性的一位,它们三者是当前最流行的 Python Web 框架。

2.Django的由来

Django 最初是被开发用来管理劳伦斯集团旗下一些以新闻内容为主的网站。

2003 年,Lawerence Journal-World 报社的 Web 开发者艾德里安和威利森开始用 Python 语言去开发应用。新闻界的快节奏使他们必须提高产品的开发速度,于是他们两个人想办法构建出了节省开发时间的框架,这个框架将能复用的组件或者模块放在一起,使开发者不必重复的工作,这是 Django 诞生的根本原因。

后来他们所在的开发小组决定将这个框架发布成一个开源软件。经过发展和时间的积累,Django 有了数以万计用户和贡献者,现在 Django 成为了 Web 开发者中最流行的框架。

总之,Python 的诞生是为了减少重复性工作,节省开发者时间,让开发者把精力投入到关键的开发环节中。

下图是Django的标志:

通过上面的介绍,可以给出 Web 框架的概念:

它是一套组件,提供通用的设计模式,能够最大程度地降低开发 Web 站点开发的难度,Django 的设计目标就是使复杂的工作变得简单。

3.Django的命名

Django 命名由来官方网站只给出了一句话:

To this day, he's considered one of the best guitarists of all time, Listen to his music. You'll like it.

Django 是以一个名叫 Django Reinhardt 吉他手的的名字来命名的。因为程序员的世界不能缺少音乐,开发者在他的音乐中得到灵感,为了感谢纪念这位吉他手,所以 Django 的名字也由此诞生!

Django 的发音也非常有趣,大写字母 D 不发音,正确的发音是“栈go”,作为程序员不要读错哦。

4.Django的特点

相对于 Python 的其他 Web 框架,Django 的功能是最完整的,Django 定义了服务发布、路由映射、模板编程、数据处理的一整套功能。

Django的主要特点如下:

完善的文档:经过多年的发展和完善,Django 官方提供了完善的在线文档,为开发者解决问题提供支持。

集成 ORM 组件:Django 的 Model 层自带数据库 ORM 组件,为操作不同类型的数据库提供了统一的方式。

URL 映射技术:Django 使用正则表达式管理URL映射,因此给开发者带来了极高的灵活性。

后台管理系统:开发者只需通过简单的几行配置和代码就可以实现完整的后台数据管理Web控制台。

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

5.Django的设计模式--MTV

二.两大设计模式

1.MVC设计模式

1.1简介

MVC 是 Model-View-Controller 的缩写,其中每个单词都有其不同的含义:

Modle 代表数据存储层,是对数据表的定义和数据的增删改查;

View 代表视图层,是系统前端显示部分,它负责显示什么和如何进行显示;

Controller 代表控制层,负责根据从 View 层输入的指令来检索 Model 层的数据,并在该层编写代码产生结果并输出。

示意图:

1.2 MVC设计模式的请求与响应过程

1.用户通过浏览器向服务器发起 request 请求,Controller 接受请求后,同时向 Model 和 View 发送指令

2.Mole 根据指令与数据库交互并选择相应业务数据,然后将数据发送给 Controller

3.View 接收到 Controller 的指令后,加载用户请求的页面,并将此页面发送给 Controller

4.Controller 接收到 Model 和 View 的数据后,将它们组织成响应格式发送给浏览器,浏览器通过解析后把页面展示出来

MVC 的 3 层之间紧密相连,但又相互独立,每一层的修改都不会影响其它层,每一层都提供了各自独立的接口供其它层调用,MVC 的设计模式降低了代码之间的耦合性(即关联性),增加了模块的可重用性,这就是 MVC 的设计模式。

2. MTV设计模式

2.1 简介

Model:数据存储层,处理所有数据相关的业务,和数据库进行交互,并提供数据的增删改查

Template:模板层(也叫表现层)具体来处理页面的显示

View:业务逻辑层,处理具体的业务逻辑,它的作用是连通Model 层和 Template

示意图:

2.2 MTV设计模式的请求与响应过程

用户通过浏览器对服务器发起 request 请求,服务器接收请求后,通过 View 的业务逻辑层进行分析,同时向 Model 层和 Template 层发送指令;

Mole 层与数据库进行交互,将数据返回给 View 层;

Template 层接收到指令后,调用相应的模板,并返回给 View 层;

View 层接收到模板与数据后,首先对模板进行渲染(即将相应的数据赋值给模板),然后组织成响应格式返回给浏览器,浏览器进行解析后并最终呈现给用户。

3.两大设计模式的区别

1. 我们按照 MVC 的设计模式对 MTV 进行分析,MTV 设计模式中,用 View 层取代了 Controller 层的位置,用 Template 层取代了原来 View 层的位置。

2.通过以上两种设计模式的比较, 我们可以得出 MTV 是 MVC 的一种细化,将原来 MVC 中的 V 层拿出来进行分离,视图的显示与如何显示交给 Template 层,而 View 层更专注于实现业务逻辑。其实在 Django 是有 Controller 层的,只不过它由框架本身来实现,所以我们不用关心它。Django 更关注于M、T 和 V。

目录
相关文章
|
6天前
|
设计模式 JSON 前端开发
前后端配置动态的数据字段标签(django_vue)
前后端配置动态的数据字段标签(django_vue)
13 0
|
14天前
|
Python
Django开发——配置环境
Django开发——配置环境
|
14天前
|
Python
PyCharm Community Edition 2023.3.1安装django模块
PyCharm Community Edition 2023.3.1安装django模块
|
18天前
|
Python
Django:构建 Web 应用的高级 Python 框架(二)安装 Django
Django:构建 Web 应用的高级 Python 框架(二)安装 Django
|
21天前
|
JavaScript 中间件 Python
Django如何配置解决CORS问题
Django如何配置解决CORS问题
21 0
|
22天前
|
前端开发 Python
在vscode中如何配置Django项目
在vscode中如何配置Django项目
17 0
|
2月前
|
缓存 前端开发 Unix
Django简介
Django简介。
20 1
|
4月前
|
存储 Linux Shell
Python 教程之 Django(2)介绍和安装
Python 教程之 Django(2)介绍和安装
27 0
Python 教程之 Django(2)介绍和安装
|
5月前
|
Python
Django 学习教程-介绍与安装
本章介绍了Django是什么,以及为什么使用Django和安装Django
40 1
Django 学习教程-介绍与安装
|
5月前
|
算法 Docker Python
Python【算法中心 03】Docker部署Django搭建的Python应用流程实例(Docker离线安装配置+Django项目Docker部署)
Python【算法中心 03】Docker部署Django搭建的Python应用流程实例(Docker离线安装配置+Django项目Docker部署)
61 0