详解django中Template语言


Posted in Python onFebruary 22, 2020

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:"对的,错了,不知道"}}

总结

到此这篇关于详解django中Template语言的文章就介绍到这了,更多相关django中template语言内容请搜索三水点靠木以前的文章或下面相关文章,希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python中xrange用法分析
Apr 15 Python
python中__slots__用法实例
Jun 04 Python
Python中操作mysql的pymysql模块详解
Sep 13 Python
tensorflow建立一个简单的神经网络的方法
Feb 10 Python
python实现多线程网页下载器
Apr 15 Python
tensorflow 获取模型所有参数总和数量的方法
Jun 14 Python
Python的UTC时间转换讲解
Feb 26 Python
pandas 选取行和列数据的方法详解
Aug 08 Python
tensorflow查看ckpt各节点名称实例
Jan 21 Python
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
Feb 26 Python
python3.4中清屏的处理方法
Jul 06 Python
Python+OpenCV实现在图像上绘制矩形
Mar 21 Python
Python使用configparser库读取配置文件
Feb 22 #Python
Pytest参数化parametrize使用代码实例
Feb 22 #Python
Pytest mark使用实例及原理解析
Feb 22 #Python
python如何通过闭包实现计算器的功能
Feb 22 #Python
postman和python mock测试过程图解
Feb 22 #Python
Python实现链表反转的方法分析【迭代法与递归法】
Feb 22 #Python
Python实现队列的方法示例小结【数组,链表】
Feb 22 #Python
You might like
javascript 小型动画组件与实现代码
2010/06/02 PHP
PHP基于imap获取邮件实例
2014/11/11 PHP
phpStudy访问速度慢和启动失败的解决办法
2015/11/19 PHP
PHP使用观察者模式处理异常信息的方法详解
2019/09/24 PHP
javascript 词法作用域和闭包分析说明
2010/08/12 Javascript
网页打开自动最大化的js代码
2012/08/22 Javascript
使用js操作css实现js改变背景图片示例
2014/03/10 Javascript
JavaScript简单修改窗口大小的方法
2015/08/03 Javascript
jquery实现漫天雪花飞舞的圣诞祝福雪花效果代码分享
2015/08/20 Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
2016/08/01 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
node操作mysql数据库实例详解
2017/03/17 Javascript
纯原生js实现贪吃蛇游戏
2020/04/16 Javascript
jQuery EasyUI Layout实现tabs标签的实例
2017/09/26 jQuery
Vue项目全局配置微信分享思路详解
2018/05/04 Javascript
vue实现的双向数据绑定操作示例
2018/12/04 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
2019/04/16 Javascript
JavaScript 扩展运算符用法实例小结【基于ES6】
2019/06/17 Javascript
详解JavaScript中的Object.is()与"==="运算符总结
2020/06/17 Javascript
简单了解JavaScript作用域
2020/07/31 Javascript
[14:19]2018年度COSER大赛-完美盛典
2018/12/16 DOTA
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
2014/07/11 Python
解决python3 urllib 链接中有中文的问题
2018/07/16 Python
详解Python sys.argv使用方法
2019/05/10 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
关于Python 中的时间处理包datetime和arrow的方法详解
2020/03/19 Python
Python制作一个仿QQ办公版的图形登录界面
2020/09/22 Python
英国第一蛋白粉品牌:Myprotein
2016/09/14 全球购物
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
贝尔帐篷精品店:Bell Tent Boutique
2019/06/12 全球购物
New Balance法国官方网站:购买鞋子和服装
2019/09/01 全球购物
.NET里面什么时候需要调用垃圾回收
2015/06/01 面试题
集中整治工作方案
2014/05/01 职场文书
法院答辩状格式
2015/05/22 职场文书
Mysql排查分析慢sql之explain实战案例
2022/04/19 MySQL