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 ...
随机推荐
- 多态(C++)
#include <iostream> using namespace std; class HeroFighter { public: virtual int power() { ; } ...
- fill 的用法
博客 : http://blog.csdn.net/liuchuo/article/details/52296646 fill函数的作用是:将一个区间的元素都赋予val值.函数参数:fill(vec. ...
- Oracle Autonomous Health Framework (AHF) 解读
AHF介绍 Oracle在2019年10月18日发布自治健康框架Autonomous Health Framework (AHF) 19.3,将ORAchk,EXAchk,TFA三种诊断工具合并入AH ...
- crawler 听课笔记 碎碎念 1 初步了解各种选择器极其简单的使用
css中 身份证 id对应# 衣服 class对应 . 图片 pyquery...as pq html= request.get(url=''.....'') doc=pq(html) d ...
- Flsak学习笔记(1)
Day 01 最近项目里要用python写后端,同学推荐了flask框架就来学一学.写这个博客的目的主要是记录一下自己学习的内容,有基础知识忘了不用一个个去百度,还有就是跟大家分享一下,有不是很容易理 ...
- 遗传编程GP-地图路径寻路
本文介绍的是基于GP,并非A*算法,算是另类实现吧. 先看看地图定义,在文本文件中定义如下字符串,代表30列11行大小的地图 初始位置在左上角(0,0) ,值为1的是允许走的通的路,目标位置为右下角( ...
- .net Core Autofac稍微高级一点的方法
前情摘要 前段时间写了autofac的注入但是每次都需要去修改startup这应该不是大家想要的. 至少不是我想要的. 网上有朋友说可以创建一个基础类来时间. 好了吹牛时间结束我们开始干点正事. 创建 ...
- 开发环境Vue访问后端接口教程(前后端分离开发,端口不同下跨域访问)
原理:开发环境下的跨域:在node.js上实现请求转发,vue前端通过axios请求到node.js上,node.js将请求转发到后端,反之.响应也是,先到node.js上,然后转发vue-cil项目 ...
- Frameworks.Entity.Core 5 EntityValidation
Project.Core\Frameworks.Entity.Core\EntityValidation\ EntityValidation 1 数值验证DigitAttribute.cs Digi ...
- 3分钟接入socket.io使用
WebSocket 简介 传统的客户端和服务器通信协议是HTTP:客户端发起请求,服务端进行响应,服务端从不主动勾搭客户端. 这种模式有个明显软肋,就是同步状态.而实际应用中有大量需要客户端和服务器实 ...