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 ...
随机推荐
- 【笔试/面试题】中科创达——9.28(持续更新ing)
1. 线程与进程的区别 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独 ...
- 在idea中运行GitHub项目
1.首先在本地建一个文件夹,比如qm 2. 在GitHub中找到你所运行项目的路径 3.在idea中[File]-->[New]--->[Project from Version Cont ...
- Java操作Jxl实现数据交互。三部曲——《第一篇》
Java操作Jxl实现.xsl及.xsls两种数据表格进行批量导入数据到SQL server数据库. 本文实现背景Web项目:前台用的框架是Easyui+Bootstrap结合使用,需要引入相应的Js ...
- Maven 基础(一) | 使用 Maven 的正确姿势
一.什么是 Maven? Maven 是一个项目管理工具,它的本质是一个项目对象模型(POM),体现在配置中就是我们常见的 pom.xml 文件,而这个 pom 文件就是 Maven 的核心,它管理了 ...
- 自媒体工具OpenWrite
自媒体工具OpenWrite 本篇主要介绍一款自媒体工具OpenWrite,如果你平时喜欢写写文章又或者写写笔记 你可以使用OpenWrite 统一将你写的文章发布到各个平台 包括 CSDN . S ...
- Java 1.7.0_06中String类内部实现的一些变化【转】
原文链接: java-performance 翻译: ImportNew.com- 夏千林译文链接: http://www.importnew.com/7656.html ChangeLog: 201 ...
- ajxa的TypeError: $.ajax is not a function的冲突问题
在加载onclick的方法异步过程中,浏览器报错 首先自我检查 原因一:没有加载Jquery库,原因二:$.ajax没有在$(function(){$.ajax();})中. 发现都不是 原因三:有没 ...
- Processing 3!
Welcome to Processing 3! Dan explains the new features and changes; the links Dan mentions are on th ...
- 微服务的多数据源配置: step 1
spring boot + mybatis: 实现的功能点: 多数据源 jdbc: spring.datasource.test1.url = jdbc:mysql://localhost:3306/ ...
- ios--->泛型
泛型 开发中使用场景: 1.限制集合中的类型,只能检测方法的调用,因为声明的泛型只能存在方法中 2.当一个类在声明的时候,某个对象的属性不确定,只有创建对象的时候才能确定,就可以使用泛型. 使用泛型的 ...