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. Andrew Ng机器学习课程笔记(一)之线性回归

    Andrew Ng机器学习课程笔记(一)之线性回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364598.html 前言 ...

  2. WPF ViewBox中的TextBlock自适应

    想让 TextBlock即换行又能自动根据内容进行缩放,说到自动缩放,当然是ViewBox控件了,而TextBlock有TextWrapping属性控制换行, 所以在ViewBox中套用一个TextB ...

  3. [Python学习笔记-001] 内置函数getattr()

    如果某个实例foo有多个方法, 当对foo的每一个方法我们都需要使用try ... except ...进行包装的时候,内置函数getattr()可以用来精简代码. 1. getattr()的用法 # ...

  4. Silverlight 在ie8 下 报2152 错误

    前几天改别人的一个silverlight程序,在项目属性上 选中了 “通过使用应用程序库缓存减小XAP 大小”,编译无错,发布无错误. 放服务器上测试: 站点绑定域名,使用ie9.ie10 都没有问题 ...

  5. [转]Magento Configurable Product

    本文转自:https://docs.magento.com/m1/ce/user_guide/catalog/product-configurable.html A configurable prod ...

  6. 深入理解Java线程池:ThreadPoolExecutor

    线程池介绍 在web开发中,服务器需要接受并处理请求,所以会为一个请求来分配一个线程来进行处理.如果每次请求都新创建一个线程的话实现起来非常简便,但是存在一个问题: 如果并发的请求数量非常多,但每个线 ...

  7. windows 下 MyEclipse 逆向工程生成hiberate 对应配置文件以及 javaBean。

    步骤1: 右边工具栏 ->  右击你的项目 -> 选中 MyEclipse  -> Project Facets -> install Hibernate Facet -> ...

  8. spring 注解@PathVariable

    @PostMapping(name="获取用户信息", value="/getUser/{userId}") public Object getUser(@Pa ...

  9. Java虚拟机 - 多态性实现机制

    [深入Java虚拟机]之五:多态性实现机制——静态分派与动态分派 方法解析 Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际 ...

  10. macbook 外接显示器黑屏,不显示

    我的mac本有点老了,11年底的那款 整了个显示器,刚开始连上没问题,后来开机状态拔了雷电线,再插  或者关机后莫名的原因再启动,显示器黑屏 网上好多方法都不行,自己总结了一个方法 拔掉连接线,关闭m ...