Django入门教程

前言

第一章: django快速入门

第二章: django MTV架构

第三章: django视图

第四章: django模板

第五章: django模型

第六章: django后台管理系统

第七章: 项目实战-简易的博客系统

第八章:django表单

第九章:django用户认证系统

第十章:django中的会话

第十一章:django安全

第十二章:django性能优化

第十三章:django实用工具

首页 > Django入门教程 > 第二章: django MTV架构 > 2.1节: 初识MTV架构

2.1节: 初识MTV架构

薯条老师 2020-07-10 17:48:08 234099 0

编辑 收藏

广州番禺Python, Java小班周末班培训

薯条老师在广州做Python和Java的小班培训,一个班最多10人,学员的平均就业薪资有11K不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Python量化投资,Python机器学习,Java中高级后端开发。授课详情请点击:http://chipscoco.com/?cate=6

2.1.1 学习方法

本节是一篇对Django MTV架构的概要性介绍,旨在帮助初学者理解何为MTV架构,在后续的章节中会分别对Django的 MTV进行详细介绍。薯条老师的教学方式为循序渐进,不喜堆砌概念,对于核心概念,会讲的明明白白。

在系统地学习Django前,先建立对Django框架的整体认识,而后再逐步地深入到细节的学习中。画师在进行创作时,通常先画其骨架,再逐步充实细节,最后再进行着色。学习亦然,先建立对知识的整体认识,然后学其细节,最后再对所学的知识进行梳理,总结,归纳。

同学们在其它领域的学习中,也可采用这样的学习方法。

2.1.2 初识MTV

在讲述MTV的概念前,薯条老师先演示一个简单的例子。现在请读者按照以下步骤来进行操作:

(1) 打开必应首页

打开浏览器,在地址栏中输入:https://cn.bing.com/,必应首页如下图所示:

 image.png

(2) 搜索Django

在搜索栏中输入django,然后按下回车键,出现的页面如下图所示:

image.png


 

在第一步操作中出现的必应首页,其实质是一个web页面,web页面是通过html来定义的。html由http服务器返回给浏览器,以下为浏览器和服务器的交互过程:

(1) 用户在浏览器中输入网页的url

(2) 浏览器对url进行解析,获取到http服务器的地址,然后向http服务器发起请求

(3) http服务器收到请求,对请求进行响应,将资源返回给浏览器

(4) 浏览器对从服务器返回的html文本进行解析和渲染

(5) 通过2,3,4步浏览器和服务器的交互以后,用户看到了最终的网页

我们使用django进行应用开发,是指利用django框架来快速地开发一个基于http协议的web应用程序。

django服务器是基于http协议的服务器,浏览器与服务器进行交互,是指通过http协议来进行通信。

django服务器收到请求以后,会委托给视图对请求进行处理,这里的视图对应于MTV中的V,即View,负责实现具体的业务逻辑。现在我们清楚了第一个概念:django的视图。

 将客户端请求与特定的视图进行绑定,需要在django项目中的settings.py中进行路由映射。

html文件存放在django服务器的模板目录中,django中的模板就是html文件,负责页面的展示。django中的模板对应于MTV中的T,即Template。在上文的第二步操作中,我们在必应首页的搜索框中输入django, 浏览器会显示与关键词django相关的列表页。如果输入其它的关键词,则浏览器显示的是与特定关键词相关的内容。在这一过程中,服务器响应的依然是html文本,但html中的内容却是动态变化的。那么,如何获取不同关键词所对应的数据?在django中使用模型对数据的存储,查询等操作进行了抽象,这里的模型对应于MTV中的M,即Model。在django中,通过模型可以查询不同关键词所对应的数据。

MTV中的Model,Template, View都是英语单词,分别代表模型,模板,视图。

以在搜索框中对django进行搜索为例,现在对整个过程进行梳理:

(1) 浏览器向django服务器发起请求
(2) django服务器将请求委托给视图进行处理
(3) django视图再委托模型进行数据的查询
(4) django从模型中获取到与django关键词相关的数据,然后对html文件进行渲染,并将渲染后的html文件返回给浏览器
(5) 浏览器对从服务器返回的html文件进行解析、渲染后,用户看到了与django关键词相关的列表页。

下图所示为浏览器与Django服务器交互的过程:

 image.png

同学们要注意的是,必应搜索的后台服务器使用的并不是django, 在这里仅以浏览器与django服务器的交互举个例子。

2.1.3 做个总结

对MTV架构做个总结:

(1) django 中的MTV分别指模型(Model),模板(Template),视图(View)。

(2) django中的模板,指的是html文件,负责页面的展现。

(3) django中的模型对数据的存储,查询等操作进行了抽象。

(4) django中的视图是MTV架构的枢纽,负责对客户端的请求进行处理,实现具体的业务逻辑,并在适当的时机调用模型获取数据,对模板文件进行渲染。

2.1.4 最具实力的小班培训

薯条老师在广州做Python和Java的小班培训,一个班最多10人。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。打算参加小班培训的同学,必须遵守薯条老师的学习安排,认真做作业和项目。把知识学好,学扎实,那么找到一份高薪的工作就是很简单的一件事。

(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,包拿Offer
(3) 数据分析高薪就业班,月薪11K-15K, 免费领取课程大纲
(4)
Python大数据挖掘,量化投资就业班,月薪12K-25K,免费领取课程大纲

扫码免费领取Python学习资料:

TAGS:MTV架构

欢迎 发表评论: