Django讲课笔记01:Django简介

Posted howard2005

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django讲课笔记01:Django简介相关的知识,希望对你有一定的参考价值。

零、本讲学习目标

  1. 复述BSD、MVC和MVT的含义
  2. 了解DJango简介、版本以及与Python版本之间的对应关系
  3. 复述DJango特点
  4. 复述MVC的优势

一、课程导入

(一)课程简介

  • 学分:4
  • 学时:64,16*4,考查
  • 成绩评定:20%(考勤)+30%(作业)+50%(期末检测)

(二)课程概述

二、新课讲授

(一)Django简介

  • Django遵守BSD版权,初次发布于2005年7月,并于2008年9月发布了第一个正式版本 1.0。
  • BSD(Software Distribution,伯克利软件套件)许可证是随着加州大学伯克利分校发布BSD UNIX发展起来的,修改版本被Apple、Apache所采用。
  • BSD协议是“宽容自由软件许可证”中的一员,在软件复用上给予了最小限度的限制。BSD协议允许作者使用该协议下的资源,将其并入私人版本的软件,该软件可使用闭源软件协议发布。
  • BSD详见百度百科:https://baike.baidu.com/item/BSD/3794498?fr=aladdin
  • Django采用MVT软件设计模式,即模型(Model),视图(View)和模板(Template)。

(二)Django版本

(三)Django与Python的对应关系

Django版本Python版本
1.82.7, 3.2 , 3.3, 3.4, 3.5
1.9, 1.102.7, 3.4, 3.5
1.112.7, 3.4, 3.5, 3.6
2.03.4, 3.5, 3.6, 3.7
2.1, 2.23.5, 3.6, 3.7
3.0, 3.13.6, 3.7, 3.8

(四)Django的特点

1、对象关系映射

(Object Relational Mapping,ORM):通过定义映射类来构建数据模型,将模型与关系数据库连接起来,使用ORM框架内置的数据库接口可实现复杂的数据操作。

2、URL设计

开发者可以设计任意的URL(网站地址),而且还支持使用正则表达式设计。

3、模板系统

提供可扩展的模板语言,模板之间具有可继承性。

4、表单处理

可以生成各种表单模型,而且表单具有有效性检验功能。

5、Cache系统

完善的缓存系统,可支持多种缓存方式。

6、Auth认证系统

提供用户认证、权限设置和用户组功能,功能扩展性强。

7、国际化

内置国际化系统,方便开发出多种语言的网站。

8、Admin后台系统

内置Admin后台管理系统,系统扩展性强。

(五)MVC模式

MVC模式(Model–View–Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。MVC 以一种插件式的、松耦合的方式连接在一起。

  • 模型(M)- 编写程序应有的功能,负责业务对象与数据库的映射(ORM)。
  • 视图(V)- 图形界面,负责与用户的交互(页面)。
  • 控制器(C)- 负责转发请求,对请求进行处理。

MVC简易图:

用户操作流程图:

(六)MVC的优势

  • 低耦合
  • 开发快捷
  • 部署方便
  • 可重用性高
  • 维护成本低

(七)MVT模型

Django 的 MTV 模式本质上和MVC是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django的MTV分别是指:

  • M表示模型(Model):编写程序应有的功能,负责业务对象与数据库的映射(ORM)。
  • V表示视图(View):负责业务逻辑,并在适当时候调用Model和Template。
  • T表示模板(Template):负责如何把页面(html)展示给用户。

除了以上三层之外,还需要一个 URL分发器,它的作用是将一个个URL的页面请求分发给不同的View处理,View再调用相应的 Model 和Template,MTV 的响应模式如下所示:

MVT简易图:


用户操作流程图:

用户通过浏览器向我们的服务器发起一个请求(request),这个请求会去访问视图函数:

  • 如果不涉及到数据调用,那么这个时候视图函数直接返回一个模板也就是一个网页给用户。
  • 如果涉及到数据调用,那么视图函数调用模型,模型去数据库查找数据,然后逐级返回。
  • 视图函数把返回的数据填充到模板中空格中,最后返回网页给用户。

(八)HTML、CSS与JavaScript

  • 网站开发可以分为前端和后端开发,前端开发是指网页设计,我们在浏览器看到网站的图片、文字、音乐视频等内容排版都是由前端开发人员实现的;后端开发是为前端开发提供实际的数据内容和业务逻辑,比如提供文字内容、图片和音乐视频的路径地址等信息。
  • 前端开发人员必须掌握HTML、CSS和JavaScript的基础语言,这些基础语言上延伸了许多前端框架,比如jQuery、Bootstrap、Vue、React和AngularJS等。后端开发人员必须掌握一种或多种后端开发语言、数据库应用原理、Web服务器应用原理和基础运维技术,目前较为热门的后端开发语言分别有Java、php、Python和GO语言;数据库为mysql、MSSQL、Oracle和Redis等。尽管明确划分了网站开发的职责,在实际工作中,特别是一些中小企业,他们也要求后端开发人员必须掌握前端开发技术,但无须精通前端开发,只要掌握基本的应用开发即可,比如调整网站布局或编写简单的JavaScript脚本。

1、HTML

HTML是超文本标记语言,标准通用标记语言下的一个应用。“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。超文本标记语言的结构包括“头”部分(Head)和“主体”部分(Body),其中“头”部分提供关于网页的信息,“主体”部分提供网页的具体内容。

2、CSS

  • HTML代码是保存在后缀名为.html的文件,而CSS样式是保存在后缀名为.css的文件,然后在HTML代码中调用CSS样式文件。由于HTML代码中会存在多个不同的元素,并且每个元素的网页布局各不相同,因此需要使用CSS选择器定位每个HTML元素,然后再编写相应的CSS样式。
  • CSS选择器划分了多种类型,同一个HTML元素可以使用不同的CSS选择器进行定位,实际开发中最常用的CSS选择器分别为:类别选择器、标签选择器、ID选择器、通用选择器和群组选择器,使用这些CSS选择器可以实现HTML元素的网页布局。

3、JavaScript

JavaScript(简称“JS”)是一种具有函数优先的轻量级、解释型的编程语言。它是因为开发Web页面的脚本语言而出名的,但是也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式的编程风格。简单来说,JavaScript是能被浏览器解释并执行的一种编程语言。JavaScript可以在HTML文件里编写,但在企业开发中也是采用HTML和JavaScript代码分离。

三、课堂小结

  1. 了解Django简介、版本以及与Python版本之间的对应关系
  2. 识记DJango特点
  3. 了解MVC的优势
  4. 理解MVC模型和MVT模型

四、课后作业

  1. 复习HTML相关知识
  2. 复习CSS相关知识
  3. 复习JavaScript相关知识

五、拓展内容

(一)HTML在线学习

(二)CSS在线学习

(三)JavaScript在线学习

(四)Python在线学习

(五)Django在线学习

以上是关于Django讲课笔记01:Django简介的主要内容,如果未能解决你的问题,请参考以下文章

Django讲课笔记04:Django项目的调试

Django讲课笔记06:搭建项目开发环境

Django讲课笔记07:设置路由分发规则

Django讲课笔记08:定义商城的数据模型

Django讲课笔记11:视图函数的请求和响应

Django讲课笔记05:需求分析与系统设计