django中Template语言

Template本身也有自己的语言和语法,用来处理简单的数据显示

  1. 常用语法
    • 判断指令
      {% if 条件 %}...{%endif%}
      {% if 条件 %}...{%elif 条件 %}...{%endif%}
      {% if 条件 %}...{%elif 条件 %}...{%else%}...{%endif%}
      {% if a in b %}...{%endif%}
    • 循环指令
      {%for %} ...{%endfor}
      • {% froloop.counter%}用来显示当前循环的计数器,从1开始
      • {% forloop.counter0%}用来显示当前循环的计数器,从0开始
      • {% froloop.recounter%} 和counter相反,反过来计算的计数值,至1结束
      • {% forloop.recounter0%}和counter0相反,反过来计算的计数值,至0结束
      • {% forloop.first%}返回的是布尔值,
      • {% forloop.last%}返回的是布尔值,
      • {% forloop.parentloop%}用来引用上一层循环(父级循环)的forloop对象
      • {% cycle%}:网页出现表格是会根据奇、偶行数存放不一样的设置,比如颜色。
      • {% empty%} :如果for 循环式空字符串,就会导致for循环执行不下去,但是页面不能空着,就让他处理下面的这个语句。
      • {% now 格式字符串 %} : 显示当前日期时间的功能,不用从后端传入。格式字符串:‘D M Y h??s a‘
      • {% lorem %} :不知道什么内容时的填充符,表示一段没有意义的文字。{% lorem [count][method][random]%} count是次数,method可以设置为 w (表示文字),p (表示段落),最后加上random回随机出现这些字符串
  2. 过滤器与其他语法标识符
过滤器名用法范例
addslashes为字符串需要的地方加上转义字符{{mes|addslashes}},如mes的内容为"It‘s a cat",会变成“It‘ a cat ”
capfirst字符串首字母大写
center,ljust,rjust为字符串内容加上指定空格后居中,靠左,靠右{{mes|cener:"15"}},mes居总,占据15个字符
cut在字符串中删除指定的子字符串{{mes|cut: ‘ ‘}} ,移除所有空格字符串
date设置日期显示时间{{value|date:" D d M Y"}} value为datetime的标准格式, 可以用date来指定详细的格式和内容,
default如果没有值,设置默认值{{mes|default :"没有信息“}}
dictsort为字典形式内容的变量排列顺序{{value|dictsort :"name"}},以名字字段来作为排序的依据
dictsortreversed上一指令的反向排序
divisibleby测试数值数据是否可被指定的数整除{{value|divisibleby:5} 测试value是否可被5整除
escape把字符串的HTML标记变成显示用的的字符串{{msg|escape}},msg中若有HTM标志,则会失去作用且被以文字的形式显示出来
filesizeformat以人们习惯的方式显示文件大小的格式(KB,MB){{value| filesizeformat}}
first只取出列表中的第一个数据{{value|first}}
last只取出列表中的最后一个数据同上
length返回列表的数据长度同上
length_is测试数据是否为指定长度{{value | length_is: "3"}}, 测试values的长度是否为3
floatformat以指定的浮点数格式来显示数据{{value|floatformat:3}}指定三位小数位
linebreaks把文字内容的换行符号转换为HTML的
{{msg|linebreaks}}
linebreaksbr把文字内容的换行符号转换为HTML的
{{msg|linebreaksbr}}
linenumber为显示的文字加上行号{{msg|linenumbers}}
lower/upper把字符串的全部内容转换为小写/大写同上
random以随机数将前面的数据内容显示出来{{values | random}}
safe标记字符串为安全的,不需要再处理转义字符{{msg|sage}}
slugify把字符串内的空格编程”-“,让字符串可以安全地放在网址栏{{msg|slugify}},若原本的msg为”It‘s a cat",则会返回“Its-a-cat"
striptags把所有的HTML标记都删除
truncatechars把过长的字符串裁切成指定长度,同时最后面的3个字符会转换成”..."{{msg|truncatechars:20}}
wordcount计算字数{{msg|wordcount}}
yesno按照值得内容是True,False,None,显示出有意义的内容{{value|yesno:"对的,错了,不知道"}}

相关推荐