详解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通过websocket与js客户端通信示例分析
Jun 25 Python
Python的Scrapy爬虫框架简单学习笔记
Jan 20 Python
python单线程文件传输的实例(C/S)
Feb 13 Python
python自动化测试之如何解析excel文件
Jun 27 Python
kafka-python 获取topic lag值方式
Dec 23 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
Mar 23 Python
使用Keras预训练模型ResNet50进行图像分类方式
May 23 Python
Django 权限管理(permissions)与用户组(group)详解
Nov 30 Python
Python3中对json格式数据的分析处理
Jan 28 Python
Pytorch 中net.train 和 net.eval的使用说明
May 22 Python
python绘制云雨图raincloud plot
Aug 05 Python
python语言中pandas字符串分割str.split()函数
Aug 05 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
php递归方法实现无限分类实例代码
2014/02/28 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
PHP面向对象程序设计__tostring()和__invoke()用法分析
2019/06/12 PHP
laravel 时间格式转时间戳的例子
2019/10/11 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
JS运行耗时操作的延时显示方法
2010/11/19 Javascript
CSS(js)限制页面显示的文本字符长度
2012/12/27 Javascript
Struts2的s:radio标签使用及用jquery添加change事件
2013/04/08 Javascript
判断文件是否正在被使用的JS代码
2013/12/21 Javascript
使用JavaScript刷新网页的方法
2015/06/04 Javascript
jquery实现弹出层登录和全屏层注册特效
2015/08/28 Javascript
JS实现浏览器状态栏文字从右向左弹出效果代码
2015/10/27 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
手机端实现Bootstrap简单图片轮播效果
2016/10/13 Javascript
jQuery实现监听下拉框选中内容发生改变操作示例
2018/07/13 jQuery
详解ES6 Fetch API HTTP请求实用指南
2018/11/14 Javascript
vue video和vue-video-player实现视频铺满教程
2020/10/30 Javascript
VUE+Element实现增删改查的示例源码
2020/11/23 Vue.js
[06:45]DOTA2卡尔工作室 英雄介绍幻影长矛手篇
2013/07/12 DOTA
python中plot实现即时数据动态显示方法
2018/06/22 Python
Python中__slots__属性介绍与基本使用方法
2018/09/05 Python
python+Splinter实现12306抢票功能
2018/09/25 Python
Python 3.8中实现functools.cached_property功能
2019/05/29 Python
用python写一个定时提醒程序的实现代码
2019/07/22 Python
Python的Lambda函数用法详解
2019/09/03 Python
Python定时任务框架APScheduler原理及常用代码
2020/10/05 Python
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
Allen Edmonds官方网站:一家美国优质男士鞋类及配饰制造商
2019/03/12 全球购物
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
销售自荐信
2013/10/22 职场文书
医院护士的求职信
2014/01/03 职场文书
读书小明星事迹材料
2014/05/03 职场文书
区域销售主管岗位职责
2014/06/15 职场文书
Nginx配置80端口访问8080及项目名地址方法解析
2021/03/31 Servers
Django项目如何获得SSL证书与配置HTTPS
2021/04/30 Python