详解django中Template语言

(编辑:jimmy 日期: 2024/11/12 浏览:2)

Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。

下面看下本文重点给大家介绍的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"color: #ff0000">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:"对的,错了,不知道"}}

总结

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?