Django设计模式(MVC/MVT)

  • 目的:了解什么是MVC,MVT
  • 思考:为什么要用设计模式
    • 分工、解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容。
  • MVC:
    • M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。
    • V全拼为View,用于封装结果,生成页面展示的html内容。
    • C全拼为Controller,用于接收请求,处理业务逻辑,与Model和View交互,返回结果。
  • MVT:
    • M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
    • V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
    • T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。

MVC/MVT区别在于:

Django 视图 不处理用户输入,而仅仅决定要展现哪些数据给用户。     

Django 模板 仅仅决定如何展现Django视图指定的数据。

Django设计模式(MVC/MVT)的更多相关文章

  1. MVC模式和Django中的MVT模式

    MVC模式:是一种程序设计模式,其核心思想是分工.解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容. MVC:Model-View-Control M:主要封装对数据库层的 ...

  2. 第一章 Django之MVC模式(2)

    让我们来研究一个简单的例子,通过该实例,你可以分辨出,通过 Web 框架来实现的功能与之前的方式有何不同.下面就是通过使用 Django 来完成以上功能的例子: # models.py (the da ...

  3. MySQL数据库(4)- 多表查询、可视化工具Navicat的使用、设计模式MVC

    一.多表查询 准备工作:创建两张表,部门表(department).员工表(employee),代码和表格如下: # 创建表 create table department( id int, name ...

  4. Django框架之MVT(1)

    Django框架之MVT 灌输: 什么是根目录:就是没有路径,只有域名.  url(r”^$”) 一.     MVT模型 Django的MVT模型 -     Model(模板):和数据库相关,负责 ...

  5. Django框架之MVT(2)

    Django框架之MVT 1.        MVT模型 -     module:模型,和数据库相关的 -     template:模板,存放html文件,模板语法(目的是将变量如果巧妙的嵌入到h ...

  6. Django之MVC框架与MTV框架详解

    Django框架简介 MVC框架和MTV框架(了解即可) MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图 ...

  7. Django之MVC与MTV

    MVC框架 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写 模型 - 视图 - 控制器是一种通常用于开发用户界面的 ...

  8. Dot Net设计模式—MVC模式

    1 MVC设计模式简介 MVC结构是为那些需要为同样的数据提供多个视图的应用程序而设计的,它很好的实现了数据层与表示层的分离.MVC作为一种开发模型,通常用于分布式应用系统的设计和分析中,以及用于确定 ...

  9. iOS设计模式——MVC(Model-View-Controller)

    Modol View Controller(MVC)是一种最早的也是最成功的可重用的设计模式,70年代的时候首次在smaltalk编写的程序中成功使用.基于MVC设计 模式,Cocoa整体架构可以划分 ...

  10. [Rails] 设计模式 MVC

    使用 MVC 的Web开发框架有很多,比如 PHP 的 Zend,Python 的 Django 和 Golang 的 Beego.这篇文章主要介绍一下 MVC 的基本概念. 何为MVC 为了明确一个 ...

随机推荐

  1. 青少年CTF-Hanser!![wp]

    一 题目描述 二 解题步骤 1. hanser.txt A‌‌​‎‏​‌​‎‏​‏‏‌​‎​‍‌​‍‍​‎‏​‏‏‌​‌‎​‌‏​‏‏‌​‍‏​‎​‏‎​‌‎​‎‍​‍‎​‏‎‎‏nemḍiq-nni ...

  2. linux下yum安装时出现Loaded plugins: fastestmirror

    linux使用yum安装软件时出现报错Loaded plugins:fastestmirror,是提示这个插件不能使用了,fastestmirror是yum的一个加速插件, 解决的办法是:将这个插件禁 ...

  3. 通过expected_conditions判断网页元素是否存在

    expected_conditions模块: 是Selenium的一个子模块,selenium.webdriver.support.expected_conditions 可以对网页上元素是否存在进行 ...

  4. JavaScript 数字与字符串的加减乘除运算

    点击跳转 Tips: 除开字符串 + 数字的运算,会产生级联,其他情况下会将 String 转为 number 再进行数字运算. js 运算是从左到右的,所以一步一步来,不要跳步进行运算.

  5. CCF 201912-1 报数

    #include <iostream> #include <bits/stdc++.h> #include <string> using namespace std ...

  6. SQL数学函数学习

    笔记来自如鹏网杨中科老师所著的 <程序员的SQL金典>#创建数据库表 CREATE Table T_Person ( FIdNumber VARCHAR(20), FName varcha ...

  7. 基于Vue项目+django写一个登录的页面

    基于Vue项目+django写一个登录的页面 前端 借用了一下vue项目模板的AboutView.vue 页面组件 <template> <div class="about ...

  8. Lombok Requires Annotation Processing

    当你打开一个项目启动的时候报这样的错误 这种错误 打开这个设置

  9. RabbitMQ管理界面使用之手动送数据

    目录 1. 找到相应的队列, 点击进入详情 2. 找到Publish Message项,填写自定义数据 3. 发送数据 4. 发送成功 5. 接收 1. 找到相应的队列, 点击进入详情 2. 找到Pu ...

  10. DP4398 是一个立体声 24 位/192kHz 数模转换芯片-替代CS4398

    DP4398 是一个立体声 24 位/192kHz 数模转换芯片.该 D/A 系统包括数字去加重.半分贝步长音量控制.ATAPI 通道混频.可选择的快速和慢速数字插补滤波器和过采样多位增量 Sigma ...