MTV和MVC模式,初识模板
1、MTV和MVC模式:分层级进行管理
说到框架模式我们有必要简单的说下设计模式,了解下设计模式这个概念,因为有人对设计模式和框架模式的概念经常混淆
设计模式:
是一套被反复使用,多数人知道并经过分类的代码设计经验总结,是为了解决一些通用性问题的
目的:重用代码并保证代码的可靠性
设计模式分类:单例,抽象工厂 等等 23种模式
一句话总结:解决某一些特殊问题的一种思想和思路
框架模式:
代码重用,框架模式是解决如何设计程序框架的代码,在框架模式中会包含多种设计模式,与设计模式是一种包含关系,
举例来说:比如要盖楼,那怎么盖楼属于框架模式,楼里面的电梯怎么设计,楼梯怎么设计,属于设计模式,所以框架模式在
盖楼中属于如何把楼盖起来,那么他里面会包含多种设计模式,具体的细节碰到不同的东西,会采用不同的设计模式来解决,
因此在一种框架模式中会包含多种设计模式。
目前流行的框架模式:
MVC(适用于多种编程语言,单在python中不常用):
M:Models 模型层,在程序中用于处理数据逻辑的部分,(主要是处理数据),主要负责在数据库中对数据的存取
操作,其实就是对数据库的增删改查的操作
V:Views 视图层 ,在应用程序中处理显示部分的内容(html,jsp)
C: Controllers 控制层 ,处理用户交互的部分,主要作用于M和V之间做协调,通常是负责从模型层中抽取数据,再
进行业务处理,最后将数据传给视图层,并将视图传给客户端
详解:用户首先打开浏览器,输入网址,然后浏览器向服务器发送请求,到了服务器之后,由控制层接收这个请求,接收完请求就知道用
户想要做什么,了解了用户的意图,如果需要用到一些数据,比如想查看某某商品的信息,那么控制器就需要找到商品的信息,所以控制
器就找模型层了,模型层会根据数据库创建模型(注意模型层不是数据库)一般情况数据库有多少张表,那么模型层就有多少个类,每个
表中有多少个字段,模型层中的类就有多少个变(属性),在模型层里还会提供增删改查的操作,那么这个执行结构再反馈给控制器,到
此,控制层和模型层的交互完成了,接下来,控制层就会把接收到的数据发送给视图,视图会把数据显示在网页里,反馈给浏览器,这样
用户就看到了
MTV(django)
M:模型层,功能同上
T:templates:模板层,用于处理用户显示部分的内容,和MVC中的V是一样的,通过html展示
V:views 视图层,在MTV中视图层是处理用户交互的部分,从模型层中获取数据,再将数据交给模板层,再先是给用
户和MVC中的控制层用法一样
详解:用户打开浏览器,浏览器发送请求,视图层接收用户请求,接受完请求调用模型层,模型层根据数据库创建模型,进行增删改查等
操作,模型层处理完数据返回给视图层,视图层接收完数据调用模板层,模板层里存放HTML等页面,模板层会把HTML模板页面返回给视图
层,视图层填充数据到模板上,然后再返回给浏览器
2、Django
创建方式:两种,命令创建和pycharm直接创建
(1)命令创建:
django-admin startproject myset --(myset是项目名字)
(2)直接创建:
启动命令:python manage.py runserver 8080
3、python内置库sqlite
db.sqlite3
sqlite:terminal启动方式
初始化:python manage.py makemigrations
生成数据库:python manage.py migrate
4、模板链接:(模板语言)
user={"username":username,"sex":sex,"email":email}
user_list.append(user)
{% for i in user_list %}
<tr>
<td>{{i.username}}</td>
<td>{{i.sex}}</td>
<td>{{ i.email }}</td>
</tr>
{% endfor %}

MTV和MVC模式,初识模板的更多相关文章

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

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

  2. MTV与MVC模式

    MTV模型(django) M:模型层(models.py) 负责业务对象与数据库的对象(orm) T:templates 负责如何把页面展示给用户 V:views 负责业务逻辑,并在适当的时候调用m ...

  3. Web开发中 MTV模式与MVC模式的区别 联系 概念

    MTV 与 MVC模式的区别 联系 概念: MTV: 所谓MTV指的就是: M:model (模型),指的是ORM模型. T:template (模板),一般Python都是使用模板渲染的方式来把HT ...

  4. 命名空间namespace、smarty使用(视图分离,MVC)、smarty模板语法、smarty缓存、MVC模式

    一.命名空间:namespace 命名空间 可以理解为逻辑上的使用,为了防止重名 namespace :关键字 加载:require_once();//加载一次 include_once() 申明命名 ...

  5. 2016/5/6 thinkphp ①框架 ② 框架项目部署 ③MVC模式 ④控制器访问及路由解析 ⑤开发和生产模式 ⑥控制器和对应方法创建 ⑦视图模板文件创建 ⑧url地址大小写设置 ⑨空操作空控制器 ⑩项目分组

    真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳 ...

  6. 初识MVC模式

    一.概念:MVC是 模型(Model),视图(View)和控制(Controller)的缩写,其目的实现Web系统的职能分工. 二.问题描述:通过一个简单的例子(计算圆面积)来体会MVC模式和普通的s ...

  7. MVC模式和Spring MVC初识

    概述 传统的Model1和Model2 在Model1的模式下,整个Web应用几乎全部是由JSP页面组成,接受和处理用户请求,并对请求处理后直接做出响应:JSP身兼View和Controller两个角 ...

  8. MVC模式设计的Web层框架初识

    struts是个什么东西? struts是一个按MVC模式设计的Web层框架,其实它就是一个大大的servlet,这个Servlet名为ActionServlet,或是ActionServlet的子类 ...

  9. 2019年6月14日 Web框架之Django_07 进阶操作(MTV与MVC、多对多表三种创建方式、前后端传输数据编码格式contentType、ajax、自定义分页器)

    摘要 MTV与MVC 多对多表三种创建方式 ajax ,前后端传输数据编码格式contentType 批量插入数据和自定义分页器 一.MVC与MTV MVC(Model View Controller ...

  10. Django简介以及MVC模式

    一.简介 Django,是当前Python世界里最负盛名且成熟的网络框架.最初用来制作在线新闻的Web站点. Django是一个基于python的web重量级框架 重指的是为发开者考虑的多 采用了MV ...

随机推荐

  1. 孤立森林(IForest)代码实现及与PyOD对比

    孤立森林(Isolation Forest)是经典的异常检测算法(论文网址).本文用python对其进行实现,以及与常用的异常检测包PyOD进行效果对比. 简单来说,孤立森林(IForest)中包含若 ...

  2. java——棋牌类游戏五子棋(webwzq1.0)之三(Msg)

    package msg; import java.io.ObjectInputStream; import java.net.DatagramSocket; /******************** ...

  3. k8s之Helm

    官方文档: https://helm.sh/zh/docs/intro/using_helm/ Helm 帮助您管理 Kubernetes 应用-- Helm Chart,Helm 是查找.分享和使用 ...

  4. Tornado框架之深入(二)

    知识点 Application设置 debug模式 路由设置扩展 RequestHandler的使用 输入方法 输出方法 可重写接口 目录: Application settings 路由映射 输入 ...

  5. 理解Java BlockingQueue

    数据结构与算法是天生一对. BlockingQueue叫做阻塞队列,在Java线程池相关的实现中有广泛的使用. BlockingQueue实现的功能如下: 当队列为空时,往队列中读数据将被阻塞. 当队 ...

  6. seldom-platform颠覆传统的自动化测试平台

    1. 传统的自动化测试平台 近些年,中等以上规模的公司测试团队都在建设自己的自动化测试平台.主要要以 HTTP接口测试 和 性能测试 为主:一些平台还支持 Web UI测试和App UI测试等,试图通 ...

  7. fastadmin-自定义

    1.样式重置 渲染完毕后再展示 [v-cloak]{ display: none; } <div id="app" v-cloak></div> 去除内置的 ...

  8. 金仓数据库数据迁移实战:从MySQL到KES的顺利迁移

    今天我们将开始实践金仓数据库的数据迁移功能.在此之前,我们一直使用的是简化版的 Docker 镜像,这个版本并没有集成可视化操作工具.因此,为了更方便地进行后续的操作,我们需要额外下载一个 Windo ...

  9. 准备 OpenXML 开发环境

    Development with Open XML 1. 准备开发环境 1.1 Open XML SDK 现在最新的 OpenXML SDK 版本是 2.12.1 (2021/1),需要通过 NuGe ...

  10. 【JavaWeb】【Cookie】通过Cookie记录用户上次登陆时间并判断用户是否是首次登陆

    通过Cookie记录用户上次登陆时间并判断用户是否是首次登陆 Cookie类的构造方法 public Cookie(java.lang.String name,java.lang.String ) 1 ...