django中Template语言
Template本身也有自己的语言和语法,用来处理简单的数据显示
- 常用语法
- 判断指令
{% 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回随机出现这些字符串
- 判断指令
- 过滤器与其他语法标识符
| 过滤器名 | 用法 | 范例 |
|---|---|---|
| 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 中模板语言的各种用法
模板 1.视图中使用模板 模版的创建过程,对于模版,其实就是读取模版(其中嵌套着模版标签),然后将 Model 中获取的数据插入到模版中,最后将信息返回给用户 1.普通方法:HTML被直接硬编码在 P ...
- 在Django中template遇到 "context must be a dict rather
原代码: # 使用模板文件 # 1.加载模板文件,获取一个模板文件 temp = loader.get_template('booktest/index.html') # 2.定义模板上下文:给模板文 ...
- django的模板语言中一些之前没有用过的小点
1.模板语言中的for循环的最后一个的表示方式 {% for auther in auther_list %} {% if forloop.last %} {# 这里的意思是for循环的最后一个的意思 ...
- django中的template部分
模版部分 取值 {{key}} 语句块 {%for item in data%} {%extends 'base.html'%} 深度变量的查找(万能的句点号) 在到目前为止的例子中,我们通过 con ...
- 使用pycharm手动搭建python语言django开发环境(四) django中buffer类型与str类型的联合使用
在django中,如果用到buffer类型时,buffer的编码格式是utf-8类型.使用str()进行转为字符串类型会异常. 异常会有如下提示:'ascii' codec can't decode ...
- django 的模板语言
1.模版的执行 模版的创建过程,对于模版,其实就是读取模版(其中嵌套着模版标签),然后将 Model 中获取的数据插入到模版中,最后将信息返回给用户. def current_datetime(req ...
- Django中的Form
Form 一.使用Form Django中的Form使用时一般有两种功能: 1.生成html标签 2.验证输入内容 要想使用django提供的form,要在views里导入form模块 from dj ...
- Django之模板语言
一.模板语言介绍 模板语言渲染的整个过程其实就是将html转换成函数,并为该函数提供全局变量,然后执行该函数 二.模板语言的语法 模板中也有自己的语言,该语言可以实现数据展示 # 业务请求处理做的页面 ...
- Django中模板的用法简介
1. 模板系统的介绍 Django作为一个Web框架,其模板所需的HTML输出静态部分以及动态内容插入 模板由HTML代码和逻辑控制代码构成 Django框架的模板语言的语法格式: {{var_nam ...
随机推荐
- 越来越清晰的TFRecord处理图片的步骤
# 首先是模块的导入 """ os模块是处理文件夹用的 PIL模块是用来处理图片的 """ import tensorflow as tf ...
- C++生成dll以及调用(函数)和类
C++新手,方法可能有很多,此方法仅仅是自己实验并可行,详细步骤如下: 生成dll文件和lib文件: (1) 新建项目-windows桌面向导,选择动态链接.dll以及空项目: (2)复制代码(头文件 ...
- 一个动态扩展表格控件列和行的 jQuery 插件
一个动态扩展表格控件列和行的 jQuery 插件 不过这并不影响使用鸭! 看这里:https://github.com/zhuwansu/table-ext.js 一个简单的示范 html <t ...
- Linux.vim编辑器显示行号
显示行号 :set number 取消显示行号:set nonumber
- Java入门 - 语言基础 - 04.对象和类
原文地址:http://www.work100.net/training/java-object-class.html 更多教程:光束云 - 免费课程 对象和类 序号 文内章节 视频 1 概述 2 J ...
- 在ubuntu18.04下搭建kvm
前一段时间一直在尝试Ubuntu上搭建xen,一直出现各种问题,各种坑 首先先感谢下面这个公司对我的耐心解答,非常感谢.特别是后面来的电话对我进行了详细的解答,所以选择搭建kvm. 1. 需要检查一下 ...
- Ubuntu学习之路2
由于数据越来越多,学习的也稍微多了点,故将一步一步学习到的命令和快捷键继续到这篇博客. 1. 查看隐藏文件和文件夹 Ctrl+H 2. 打开搜索管理器 Alt+F2 3. 查看系统内存 free -h ...
- (1)C#连接数据库:Connection对象
连接数据库:Connection对象 1.Connection对象概述 Connection对象是一个连接对象,主要功能是建立与物理数据库的连接.其主要包括4种访问数据库的对象类,也可称为数据提供 ...
- Windows玩转Kubernetes系列2-Centos安装Docker
接上一章,Windows玩转Kubernetes系列1-VirtualBox安装Centos,我们开始学习如何在Centos中安装Docker 准备 关闭防火墙 防火墙一定要提前关闭,否则在后续安装K ...
- [JLOI2014]松鼠的新家(树链剖分)
[JLOI2014]松鼠的新家(luogu) Description 题目描述 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间 ...