定义模板
来源:互联网 发布:linux的保存命令 编辑:程序博客网 时间:2024/05/16 06:30
定义模板
- 模板语言包括
- 变量
- 标签 { % 代码块 % }
- 过滤器
- 注释{# 代码或html #}
变量
- 语法:
{{ variable }}
- 当模版引擎遇到一个变量,将计算这个变量,然后将结果输出
- 变量名必须由字母、数字、下划线(不能以下划线开头)和点组成
- 当模版引擎遇到点("."),会按照下列顺序查询:
- 字典查询,例如:foo["bar"]
- 属性或方法查询,例如:foo.bar
- 数字索引查询,例如:foo[bar]
- 如果变量不存在, 模版系统将插入'' (空字符串)
- 在模板中调用方法时不能传递参数
在模板中调用对象的方法
- 在models.py中定义类HeroInfo
from django.db import modelsclass HeroInfo(models.Model): ... def showName(self): return self.hname
- 在views.py中传递HeroInfo对象
from django.shortcuts import renderfrom models import *def index(request): hero = HeroInfo(hname='abc') context = {'hero': hero} return render(request, 'temtest/detail.html', context)
- 在模板detail.html中调用
{{hero.showName}}
标签
- 语法:{ % tag % }
- 作用
- 在输出中创建文本
- 控制循环或逻辑
- 加载外部信息到模板中供以后的变量使用
- for标签
{ %for ... in ...%}循环逻辑{{forloop.counter}}表示当前是第几次循环{ %empty%}给出的列表为或列表不存在时,执行此处{ %endfor%}
- if标签
{ %if ...%}逻辑1{ %elif ...%}逻辑2{ %else%}逻辑3{ %endif%}
- comment标签
{ % comment % }多行注释{ % endcomment % }
- include:加载模板并以标签内的参数渲染
{ %include "foo/bar.html" % }
- url:反向解析
{ % url 'name' p1 p2 %}
- csrf_token:这个标签用于跨站请求伪造保护
{ % csrf_token %}
- 布尔标签:and、or,and比or的优先级高
- block、extends:详见“模板继承”
- autoescape:详见“HTML转义”
过滤器
- 语法:{ { 变量|过滤器 }},例如{ { name|lower }},表示将变量name的值变为小写输出
- 使用管道符号 (|)来应用过滤器
- 通过使用过滤器来改变变量的计算结果
- 可以在if标签中使用过滤器结合运算符
if list1|length > 1
- 过滤器能够被“串联”,构成过滤器链
name|lower|upper
- 过滤器可以传递参数,参数使用引号包起来
list|join:", "
- default:如果一个变量没有被提供,或者值为false或空,则使用默认值,否则使用变量的值
value|default:"什么也没有"
- date:根据给定格式对一个date变量格式化
value|date:'Y-m-d'
- escape:详见“HTML转义”
- 点击查看详细的过滤器
注释
- 单行注释
{#...#}
- 注释可以包含任何模版代码,有效的或者无效的都可以
{# { % if foo % }bar{ % else % } #}
- 使用comment标签注释模版中的多行内容
示例
- 查询所有英雄信息显示出来,要求奇数行显示为红色,偶数行显示为蓝色
阅读全文
0 0
- 定义模板
- 定义模板
- 宏定义模板 zz
- 模板中定义变量
- thinkphp 模板定义
- 模板简单定义
- 定义函数模板
- Slider模板定义
- ScrollBar模板定义
- C++:浅说模板定义
- 模板的定义
- 如何定义函数模板
- C++ 定义函数模板
- C++ 定义类模板
- freemarker 定义模板layout
- 定义函数模板
- freemarker定义分页模板
- rsyslog 定义模板
- Python常用函数与技巧总结(一)
- 英语之时间表示法
- 数据挖掘中的数据清洗方法大全
- 【caffe】googlenet在windows下训练以及遇到的一系列问题——【caffe学习四】
- 数据库的概念模型
- 定义模板
- Fresco实现图片放大
- 【DP】BAJ-Bytecomputer
- 张亦鸣: eBPF 简史
- 低照度图像修复方法总结
- 深入JVM内核—原理与优化之gc参数学习
- 汉诺塔1
- ActiveMQ消息队列
- java基础第四讲JavaScript详解