美文网首页django
Django-05 MTV和模板层

Django-05 MTV和模板层

作者: JuliusL | 来源:发表于2021-07-10 13:19 被阅读0次

MVC和MTV

MVC代表Model-View-Controller(模型-视图-控制器)模式。

  • M 模型层(Model),主要用于对数据库层的封装
  • V 视图层(View),用于想用户展示结果(WHAT+HOW)
  • C 控制(Controller),用于处理请求,获取数据,返回结果(重要)‘
作用:降低模块间的耦合
image.png

MTV代表Model-Template-View(模型-模板-视图)模式。

  • M 模型层(Model),主要与数据库交互
  • T 模板层(Template),负责呈现内容到浏览器(HOW)
  • V视图层(View)是核心,负责接收请求,获取数据,返回结果(WHAT)


    image.png

什么是模板

1,模板是可以根据字典数据动态变化的html网页
2,模板可以根据视图中传递的字典数据动态生成对应的html网页。

模板配置

创建模板文件夹<项目名>/templates
在settings.py中templates配置项
1,BACKEND:指定模板的引擎
2,DIRS:模板的搜索目录(可以是一个或多个)
3,APP_DIRS:是否要在应用中的templates文件夹中搜索模板文件。
4,OPTIONS:有关模板的选项

  • 配置项中需要修改的部分
    设置DIRS-'DIRS':[os.path.join(BASE_DIR,'templates')],

模板的加载方式

方案1-通过loader获取模板,通过HttpResponse进行响应在视图函数中

from django.template import loader
# 1. 通过loader加载模板
t = loader.get_template("模板文件名")
# 2. 将t转换成HTML字符串
html = t.render(字典数据)
# 3. 用响应对象将转换的字符串内容返回给浏览器
return HttpReponse(html)

方案2-使用render()直接加载并响应模板
在视图函数中

from django.shortcuts import render
return render(request,'模板文件名',字典数据)

视图层与模板层之间的交互

1,视图函数中可以将python变量封装到字典中传递到模板
样例

def xxx_view(request):
  dic = {
    "变量1":"值1",
    "变量2":"值2",
  }
  return render(request,'xxx.html',dic)

2,模板中,我们可以用{{变量名}}的语法,调用视图传进来的变量

{{变量1}}{{变量2}}

相关文章

  • Django-05 MTV和模板层

    MVC和MTV MVC代表Model-View-Controller(模型-视图-控制器)模式。 M 模型层(Mo...

  • 框架_Django_2

    Django模型(MTV_Model) 什么是模型 配置数据 模型开发 模型属性 模型查询 字段查询 模型成员 模...

  • 用Django搭建第一个建议网站

    Django的MTV模型。M 代表模型(Model):作为数据库的代理人,通过 model 操作数据库。T 代表模...

  • Python学习周总结(18.04.23 - 04.27)

    1、Django简介Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模...

  • 08_模板层补充

    模板层 一、模板层导入与继承 模板导入: 先码一个好看的模板 语法:{% include '模板名称' %} 模板...

  • 超级思考术02 思维与沟通力 | 牢记一个思维模型,时刻展现更优

    索引 MTV模型思维导图 为什么要学习MTV模型? MTV模型的组成是什么? 怎样通过MTV模型完美的介绍自己? ...

  • Django模板层的扩展

    模板层 模板,其实就是一个HTML页面,我们只不过是,通过一些标签对其进行数据的渲染最终展示给用户的内容。而对于模...

  • django知识点二

    Django视图和URL配置 一、MTV模式 1、概述 Django的MTV模式本质上和MVC是一样的,也是为了各...

  • Django相关的一些知识点

    01Django的MTV设计模式 Django其实也是一个MTV的设计模式。MTV是Model、Template、...

  • 初识 Django

    Django 目的是要实现简单快捷的网站开发。以下内容简要介绍MTV设计模式 Django的MTV模式本质上和MV...

网友评论

    本文标题:Django-05 MTV和模板层

    本文链接:https://www.haomeiwen.com/subject/omlcpltx.html