Django框架(一):MVC设计模式、Django简介

1. MVC设计模式

MVC设计模式:Model-View-Controller简写。html

最先由TrygveReenskaug在1978年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式,是为了将传统的输入(input)、处理(processing)、输出(output)任务运用到图形化用户交互模型中而设计的。随着标准输入输出设备的出现,开发人员只须要将精力集中在业务逻辑的分析与实现上。后来被推荐为Oracle旗下Sun公司Java EE平台的设计模式,而且受到愈来愈多的使用ColdFusion和PHP的开发者的欢迎。如今虽然再也不使用原来的分工方式,可是这种分工的思想被沿用下来,普遍应用于软件工程中,是一种典型而且应用普遍的软件架构模式。后来,MVC的思想被应用在了Web开发方面,被称为Web MVC框架。python

MVC是软件工程中经常使用的软件架构模式,它是一种分离业务逻辑与显示界面的设计方法。它把软件系统分为三个基本部门:模型(Model)、视图(View)和控制器(Controller)。web

  • 控制器Controller:对请求进行处理,负责请求转发。
  • 视图View:界面设计人员进行图形界面设计。
  • 模型Model:编写程序应用的功能(实现算法等等)、数据库管理。

MVC框架的核心思想是:解耦,让不一样的代码块之间下降耦合,加强代码的可扩展性和可移植性,实现向后兼容。算法

当前主流的开发语言如Java、PHP、Python中都有MVC框架。数据库

2. Django简介

2.1 MTV设计模式

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

  • M 表明模型(Model):负责业务对象和数据库的关系映射(ORM)。
  • T 表明模板 (Template):负责如何把页面展现给用户(html)。
  • V 表明视图(View):负责业务逻辑,并在适当时候调用Model和Template。

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

 通常是用户经过浏览器向咱们的服务器发起一个请求(request),这个请求回去访问视图函数,(若是不涉及到数据调用,那么这个时候视图函数返回一个模板也就是一个网页给用户),视图函数调用模型,模型去数据库查找数据,而后逐级返回,视图函数把返回的数据填充到模板中空格中,最后返回网页给用户。浏览器

2.2 Django的简单使用

2.2.1 Django的安装

pip install django -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com服务器

2.2.2 建立Django项目

咱们以最多见的电商网站为例,网站上有跟用户有关的页面,有跟商品有关的页面,还有跟订单有关的页面,这样的一块内容其实就是网站的一个功能模块。session

在django中,项目的组织结构为一个项目包含多个应用,一个应用对应一个业务模块。

建立项目的命令以下:

django-admin startproject 项目名称

建立一个项目,项目名为djangotest。

django-admin startproject djangotest

而后咱们查看下djangotest的目录。

2.2.3 项目默认目录说明

manage.py是项目管理文件,经过它管理项目。 

而后就是与项目同名的目录,此处为djangotest。

  • _init_.py是一个空文件,做用是这个目录test1能够被看成包使用。
  • asgi.py是项目的asgi配置文件。
  • settings.py是项目的总体配置文件。
  • urls.py是项目的URL配置文件。
  • wsgi.py是项目与WSGI兼容的Web服务器入口。

2.2.4 建立应用

使用一个应用开发一个业务模块,此处建立应用名称为booktest,完成图书的信息维护。

python manage.py startapp booktest

  • _init.py_是一个空文件,表示当前目录booktest能够看成一个python包使用。
  • tests.py文件用于开发测试用例,在实际开发中会有专门的测试人员,这个事情不须要咱们来作。
  • models.py文件跟数据库操做相关。
  • views.py文件跟接收浏览器请求,进行处理,返回页面相关。
  • admin.py文件跟网站的后台管理相关。
  • apps文件夹是django1.10以后增长的,一般里面包含对应用的配置。

2.2.5 安装应用 

应用建立成功后,须要安装才可使用,也就是创建应用和项目之间的关联,在djangotest/settings.py中INSTALLED_APPS下添加应用的名称就能够完成安装。 

初始项目的INSTALLED_APPS:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

接下来在元组中添加一个新的项,当前示例为booktest:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'booktest',
]

2.2.6 开发服务器

在开发阶段,为了可以快速预览到开发的效果,django提供了一个纯python编写的轻量级web服务器,仅在开发阶段使用。

运行服务器命令:

python manage.py runserver ip:端口

能够不写IP和端口,默认IP是127.0.0.1,默认端口为8000。

服务器启动成功:

紧接着在浏览器中输入网址“127.0.0.1:8000”,能够查看当前站点开发效果。

若是增长、修改、删除文件,服务器会自动重启;
按ctrl+c中止服务器。

相关文章
相关标签/搜索