MVC框架

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写

模型 - 视图 - 控制器是一种通常用于开发用户界面的体系结构模式,用于将应用程序划分为三个互连的部分。这样做是为了将信息的内部表示与信息呈现给用户和从用户接受的方式分开。 MVC设计模式将这些主要组件分离,从而实现高效的代码重用和并行开发。

  • Model 是用来处理数据逻辑的部分,通常负责在数据库中存取数据。
  • View 是处理数据显示的部分,即我们所看到的html前端网页。
  • Controller 是用来处理用户交互的部分,即根据用户输入的url,映射相应的函数,调用model处理数据等的业务逻辑处理。

MVC的优点有耦合性低,重用性高,生命周期成本低,部署快,可维护性高,有利软件工程化管理等。

Django的MTV框架

Django的MTV框架本质上与MVC是相同的,只是定义方面有些不同。

  • M代表Model(模型),负责向数据库中存取数据,对应MVC中的model
  • T代表Template(模板),负责将html页面展示给用户,对应MVC中的view。
  • V代表View(视图),负责业务逻辑处理,会调用Model和Template。

既然Django的MTV框架和MVC本质上是相同的,那么MVC中的C对应的是什么呢?
对于Django来说,它还带有一个url分发器,用来根据用户输入的不同url,来调用不同的view函数。url分发器和View组合对应着MVC中的Controller

Django项目创建

安装Django

在cmd中执行pip3 install django进行安装

创建Django项目

在cmd中执行django-admin startproject mysite
此时会创建mysite文件夹,进入会有manage.py与mysite文件

mysite下有

创建app

在manage.py同级目录执行python manage.py startapp blog
会生成blog文件夹,内有

启动Django

执行python manage.py runserver 8000

此时登录浏览器,在地址栏输入127.0.0.1:8000即可访问你的网站。

Django之MVC与MTV的更多相关文章

  1. Django之MVC和MTV

    一. MVC MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式: Model(模型)表示应用程序核心(比如数据库记录列表). ...

  2. 理解django框架中的MTV与MVC模式

    1.Models:一个抽象层,用来构建和操作你的web应用中的数据,模型是你的数据的唯一的.权威的信息源.它包含你所储存数据的必要字段和行为.通常,每个模型对应数据库中唯一的一张表. from dja ...

  3. web 框架的本质及自定义web框架 模板渲染jinja2 mvc 和 mtv框架 Django框架的下载安装 基于Django实现的一个简单示例

    Django基础一之web框架的本质 本节目录 一 web框架的本质及自定义web框架 二 模板渲染JinJa2 三 MVC和MTV框架 四 Django的下载安装 五 基于Django实现的一个简单 ...

  4. Django WSGI,MVC,MTV,中间件部分,Form初识

    一.什么是WSGI? WEB框架的本质是一个socket服务端接收用户请求,加工数据返回给客户端(Django),但是Django没有自带socket需要使用 别人的 socket配合Django才能 ...

  5. Django MVC与MTV概念 Ajax、分页实现

     MVC与MTV概念 MTV与MVC(了解)        MTV模型(django):            M:模型层(models.py)            T:templates      ...

  6. Django简介(MVC、MTV)

    Django简介 MVC Model(模型)- 应用程序中处理数据逻辑部分且与数据库交互,用于存取数据的部分 View(视图)- 用于处理后的数据界面展示,且视图通常是由模型数据创建的,是用户看到并与 ...

  7. day56——http协议、MVC和MTV框架模式、django下载安装、url路由分发

    day56 昨日复习 今日内容 HTTP协议 网页:https://www.cnblogs.com/clschao/articles/9230431.html 老师整理的重点 老师整理的重点 请求信息 ...

  8. MVC与MTV模型及Django请求的生命周期

    MVC模型 MVC:Model View Controller M: 模型.是应用程序中用于处理应用程序数据逻辑的部分 V:视图.是应用程序汇总处理数据显示的部分 C:控制器.是应用程序中处理用户交互 ...

  9. django模块导入/函数/中间件/MVC和MTV/CSRF

    目录 一:模块导入 二:函数 三:中间件 四:MVC和MTV 五:csrf 一:模块导入 第一种:继承 这里的母版更像是一个架子,子板都是定义的内容(如果多个页面中 ,存在相同的页面:这样我们可以抽到 ...

随机推荐

  1. 【胡思乱想】命令模式 与 Thread Runnable

    实现线程任务有两种方式,一种是创建Runnable/Callable对象,传递给Thread.另一种是子类重写Thread的run方法. 我觉得前一种像极了命令模式,或者说应该是命令模式的一个使用案例 ...

  2. 对CAP原理的理解

    对CAP原理的理解 CAP原理按照定义,指的是C(Consistency)一致性,A(Availability)可用性,P(Partition tolerance)分区容错性在一个完整的计算机系统中三 ...

  3. HTML Dog 初级教程中关于 forms 的翻译

    Formsforms用于搜集用户输入网页上的信息.它们可以当作网络应用的接口,或者用于发送网络数据. 仅仅使用forms,它们并不那么有用.它们通常结合某种编程语言来处理用户输入的数据.HTML中使用 ...

  4. vue-cli less使用

    1.安装less依赖,npm install less less-loader --save 2.修改webpack.base.conf.js文件,配置loader加载依赖,让其支持外部的less,在 ...

  5. 【译】如何更好的使用javascript数组

    赶紧阅读读此文,我保证,在过去的几个月里我,我确定我在数组问题上犯过4次错误.于是我写下这篇文章,阅读这篇文章可以让你更准确的使用javascript数组的一些方法 使用Array.includes替 ...

  6. 用Collectors对List去重

    在学习本篇之前,最好对java8新特性有一定的了解.可以参考:Java8新特性--流(Stream) 场景:有一个实体的List集合,需要根据实体中的某个字段对List去重 要想去重,可以考虑使用Tr ...

  7. 【RabbitMQ】1、RabbitMQ的几种典型使用场景

    RabbitMQ主页:https://www.rabbitmq.com/ AMQP AMQP协议是一个高级抽象层消息通信协议,RabbitMQ是AMQP协议的实现.它主要包括以下组件: 1.Serve ...

  8. Codeforces834A

    A. The Useless Toy time limit per test:1 second memory limit per test:256 megabytes input:standard i ...

  9. 编译java代码出现 错误: 需要class, interface或enum 提示

          出现这种错误: 需要class, interface或enum 提示,一般分两种情况: 1.代码编写有误: 2.编码器选择编码格式有问题.(主要是用非记事本编写代码文件,存在编码格式转换问 ...

  10. js-ES6学习笔记-Generator函数的应用

    1.异步操作的同步化表达 Generator函数的暂停执行的效果,意味着可以把异步操作写在yield语句里面,等到调用next方法时再往后执行.这实际上等同于不需要写回调函数了,因为异步操作的后续操作 ...