详解django中Template语言
作者:World&Peace 发布时间:2022-12-01 21:20:59
标签:django,template,语言
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Ⓜ️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:"对的,错了,不知道"}} |
总结
来源:https://www.cnblogs.com/world-peace/p/12343608.html
0
投稿
猜你喜欢
- 下面两个函数实现了对字符串中数字的判断。function isnaw(str) f
- 本次薯片会讨论了关于分类与类型的问题。怎么找一个item?页面导航一般分类为主,在具体的分类展示下选择类型:典型例子:炫铃(QQ客户端)当只
- 我们到目前为止所谈到的SQL语句相对较为简单,如果再能通过标准的recordset循环查询,那么这些语句也能满足一些更复杂的要求。不过,何必
- 现在大家都在讨论Web2.0 ,大家都在搞用户行为前端设计,现在注册一个ID一般只需要几秒钟,站长期望其产生高价值的UGC,形成一个只需要审
- 方法一.Image { max-width:600px;height:
- 应用场景:1、授权(Authorization)装饰器能有助于检查某个人是否被授权去使用一个web应用的端点(endpoint)。它们被大量
- 一、前言在学习深度学习会发现都比较爱用python这个argparse,虽然基本能理解,但没有仔细自己动手去写,因此这里写下来作为自己本人的
- Xajax是PHP一个不用刷新或者跳到其他页面,就能通过点击组件等与后台后台数据库交互的技术Xajax是php的一个插件,要想使用Xajax
- 对于outerHTML这个DOM属性,在IE/Opera/google Chorme等浏览器中都是可以使用的,但唯独Firefox是不支持的
- 总结常用基本点如下: 1、触发器有两种类型:数据定义语言触发器(DDL触发器)和数据操纵语言触发器(DML触发器)。 DDL触发器:在用户对
- PDO::getAvailableDriversPDO::getAvailableDrivers — 返回一个可用驱动的数组(PHP 5 &
- python里面的matplotlib.pylot是大家比较常用的,功能也还不错的一个包。基本框架比较简单,但是做一个功能完善且比较好看整洁
- 1 前言在 Java 和 js 中,lambda箭头函数是十分常见的操作,这种表达方式在使用时非常的简便。在python的语法中也有应用场景
- 创建用户定义函数,它是返回值的已保存的 Transact-SQL 例程。用户定义函数不能用于执行一组修改全局数据库状态的操作。与系统函数一样
- 无参数函数先解释一下时间戳,所谓时间戳,即自1970年1月1日00:00:00所经历的秒数,然后就可以理解下面的函数了。下面代码默认from
- firefox不支持text-overflow一直让人很折腾。。不过还好有大虾为我们提供解决方案。。text-overflow: ellip
- 在安装wordpress的时候,按照里面的readme.html的步骤进行安装,但是在访问wp-admin/install.php的时候就出
- 作为临时测试用python命令来搭建web测试是最好不过的选择了;CD切换到当前目录只需要一句python命令就迅速搭建好了简单的web服务
- 一、日志级别1. 级别定义logging模块提供了5种日志级别,分别为:CRITICAL>ERROR>WARNING>IN
- 数据可视化的时候,常常需要将多个子图放在同一个画板上进行比较,python 的matplotlib包下的subplot可以帮助完成子功能。p