模板语言

模板语言简称为DTL(Django Template Language)

模板变量

模板变量名由数字,字母,下划线和点组成,不能以下划线开头。

使用:{{模板变量名}}

def index2(request):

'''模板加载顺序'''

return render(request, 'booktest/index2.html')

# /temp_var

def temp_var(request):

'''模板变量'''

my_dict = {'title': '字典键值'}

my_list = [1, 2, 3]

book = BookInfo.objects.get(id=1)

#定义模板上下文

context={'my_dict':my_dict,'my_list':my_list,'book':book}

return render(request,'booktest/temp_var.html',context)

模板变量可以是字典,列表或者对象。定义好模板上下文之后,用render()函数传递给html

模板变量

使用字典属性:{{ my_dict.title }}

使用列表元素:{{ my_list.1 }}

使用对象属性:{{ book.btitle }}

可以看到模板变量都是通过 . 调用的。

模板标签

模板标签

background-color: red;

}

.yellow{

background-color: yellow;

}

.green{

background-color: green;

}

{% for book in books %}

{% if book.id <= 2 %}

{{ forloop.counter }}--{{ book.btitle }}

{% elif book.id >= 5 %}

{{ forloop.counter }}--{{ book.btitle }}

{% else %}

{{ forloop.counter }}--{{ book.btitle }}

{% endif %}

{% endfor %}

具体的其他的模板标签可以参考Django官方文档。

过滤器

过滤器用于对模板变量进行操作

date:改变日期的显示格式

length:求长度,字符串,列表,元祖,字典

default:设置模板变量的默认值

格式:模板变量 | 过滤器:参数

date过滤器

{{ book.btitle }}--{book.bpub_date | date:'Y年-m月-d日'}

default过滤器

{{dd | default:'无'}}

模板注释

单行注释:{# 注释 #}

多行注释:{% comment %}

模板继承

不同页面可能有相同的模块,这时候可以使用模板继承减少代码量

base.html内容

父模板

导航条

{% block b1 %}

这是父模板b1块中的内容

{% endblock b1 %}

版权信息

child.html内容

{% extends 'booktest/base.html' %}

{% block b1 %}

{{ block.super }}

这是子模板b1的内容

{% endblock b1 %}

在父模板中{% block b1 %}

这是父模板b1块中的内容

{% endblock b1 %}

定义一个预留快,预留块中可以有内容。子模板继承时,{% extends 'booktest/base.html' %}导入,{% block b1 %} {{ block.super }}

这是子模板b1的内容

{% endblock b1 %}写预留块,{{ block.super }}继承预留快的内容。

html转义

通过render()函数传递过来的模板上下文默认是转义的,也就是说我们想传递html语言的时候,实际上传递过来的是字符串,这个时候我们可以通过过滤器关闭转义

{{context | safe}}

html语言可以写模版继承吗,16-Django的模板语言(变量,标签,过滤器,继承,html转义)...相关推荐

  1. html语言可以写模版继承吗,Django框架(十一):模板介绍、模板语言、模板继承、HTML转义...

    1. 模板介绍 1.1 模板的功能 产生html,控制页面上展示的内容.模板文件不仅仅是一个html文件. 模板文件包含两部分内容: 静态内容:css.js.html. 动态内容:用于动态去产生一些页 ...

  2. c语言16进制数给变量,C语言中怎样定义能够保存16进制整数的变量

    Objective-C中NSInvocation的使用 OC中调用方法某个对象的消息呦两种方式: #1. performanceSelector: withObject: #2. NSInvocati ...

  3. C语言手写自定义三维数组

    C语言手写三维数组 本文目的是通过C语言的结构体和动态数组,实现自定义类型的三维数组TripleArray及其基本运算 本文目的是通过C语言的结构体和动态数组,实现自定义类型的三维数组TripleAr ...

  4. Django模板语言相关内容

    Django模板语言相关内容 Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 在Django的模板语言 ...

  5. Web框架之Django_04 模板层了解(过滤器、标签、自定义过滤器、标签、inclusion_tag、模板的继承与导入)

    阅读目录 一.模板语法: 二.过滤器:(Filters) 三.模板的继承与模板的导入 摘要: 模版层(模板语法) 模板语法 过滤器 标签 自定义过滤器.标签 inclusion_tag 模板的继承 模 ...

  6. django 模板mysql_59 Django基础三件套 , 模板{{}}语言 , 程序连mysql Django项目app Django中ORM的使用...

    主要内容:https://www.cnblogs.com/liwenzhou/p/8688919.html 1 form表单中提交数据的三要素 a : form标签必须要有action和method的 ...

  7. jango模板语言初识

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

  8. python语言的格式框架_django框架模板语言使用方法详解

    本文实例讲述了django框架模板语言使用方法.分享给大家供大家参考,具体如下: 模板功能 作用:生成html界面内容,模版致力于界面如何显示,而不是程序逻辑.模板不仅仅是一个html文件,还包括了页 ...

  9. Django模板语言

    常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} 变量名由字母数字和下划线组成. 点(.)在模板语言中有特殊的含义, ...

最新文章

  1. windows云服务器价格_免费windows云服务器
  2. java IO之 File类+字节流 (输入输出 缓冲流 异常处理)
  3. 【论文阅读】Triple GANs论文阅读
  4. bzoj1190 [HNOI2007]梦幻岛宝珠 动态规划
  5. 与登录shell相关的文件
  6. android 队列执行动画,Android 重学系列 渲染图层-图元缓冲队列初始化
  7. 前台js获取url传递参数(后台Request.QueryString接收)
  8. squid端口转发_HTTP隧道(经典版)Squid 接入指南| 阿布云 - 为大数据赋能
  9. Python List Comprehension
  10. 微信小程序云开发教程-小程序在云开发下的运作模式
  11. linux 系统信号忽略和system函数返回值问题(system的实现)
  12. 微信小程序后台管理系统(后端)笔记
  13. 模型预测控制器(MPC)系列: 3.车辆横向MPC控制中的前馈设计
  14. OpenGL glut导入OBJ模型文件
  15. 设计模式之面向对象七大基本原则
  16. 使用java代码根据三角形的三个顶点坐标计算出三角形的中心点(重心)
  17. 向左还是向右,网约车聚合平台还是高精度地图数据收集站
  18. 如何把公共WiFi据为己有,修改别人的路由器WiFi密码,作者只支持技术,不支持后果
  19. ionic中的slide-box
  20. 人大金仓windows 10 安装闪退,改绿色安装方法,

热门文章

  1. SAP Leonardo及客户案例
  2. 艾弗森、穆大叔遭“姚式幽默”调侃 全场爆笑
  3. ABAP Range
  4. PM 后台配置TCODE
  5. 6套制造业大数据解决方案免费送,内含详细步骤手把手教会你
  6. 宏光MINI EV收割的年轻人,又被苏宁、小米、欧拉盯上了
  7. 新消费风口再“热闹”,红利依然握在伊利、康师傅们手里
  8. html 删除记录,添加删除记录.html
  9. java 8 语法糖_Java8的lamada算是一种语法糖吗?
  10. Building wheel for wrapt (setup.py) ... error的解决办法(图文)