Django进阶Template篇001 - 常用模板标签及过滤器
一、模板的组成
HTML代码+逻辑控制代码
二、逻辑控制代码的组成
1.变量(使用双大括号来引用变量)
{{ var_name }}
2.标签(tag)的使用(使用大括号和百分号的组成来表示使用tag)
{% load staticfiles %}
3.过滤器(filter)的使用
{{ ship_date|date:"F j,Y" }},ship_date变量传给date过滤器,date过滤器通过使用"F j,Y"这几个参数来格式化日期数据。 "|"代表类似Unix命令中的管道操作。
三、常用标签(tag)
1.{% if %} 的使用
可以使用and,or,not来组织逻辑,新版本中已经支持 {% elif %}
2.{% ifequal %} 和 {% ifnotequal %} 的使用
比较是否相等,只限于简单的类型,如字符串,整数,小数的比较,列表,字典,元组不支持
3.{% for %} 的使用
循环一个列表。可以使用empty关键字来进行为空时处理;可以使用resersed关键字来倒序遍历;
for标签中,可以使用forloop
{{ forloop.counter }}: 当前循环计数,从1开始
{{ forloop.counter0 }}:当前循环计数,从0开始,标准索引方式
{{ forloop.revcounter }}:当前循环的倒数计数,从列表长度开始
{{ forloop.revcounter0 }}:当前循环的倒数计数,从列表长度减1开始,标准索引方式
{{ forloop.first }}:布尔值,判断是不是循环的第一个元素
{{ forloop.last}}:布尔值,判断是不是循环的最后一个元素
4.{% cycle %}
在循环时轮流使用给定的字符串列表中的值。
5.{# #} 单行注释,{% comment %} 多行注释
6.{% csrf_token %}
生成csrf_token的标签,用于防止跨站攻击验证
7.{% debug %}
调用调试信息
8.{% filter %}
将filter标签圈定的内容执行过滤器操作
9.{% autoescape %}
自动转义设置
10.{% firstof %}
输出第一个值不等于False的变量
11.{% load %}
加载标签库
12.{% now %}
获得当前时间
13.{% spaceless %}
移除空格
14.{% url %}
引入路由配置的name的地址
15.{% verbatim %}
禁止render
16.{% with %}
用更简单的变量名缓存复杂的变量名
...
更多详见:https://docs.djangoproject.com/en/1.10/ref/templates/builtins/
四、常用过滤器(filter)
1.add
给变量加上相应的值
2.addslashes
给变量中的引号前加上斜线
3.capfirst
首字母大写
4.cut
从字符串中移除指定的字符
5.date
格式化日期字符串
{{ value|date:"D d M Y" }}
If value
is a datetime
object (e.g., the result of datetime.datetime.now()
), the output will be the string 'Wed 09 Jan2008'
.
6.default
如果值是False,就替换成设置的默认值,否则就使用本来的值
7.default_if_none
如歌值为None,就替换成设置的默认值,否则就使用本来的值
8.dictsort
按照设定参数(key)对应的value对列表进行排序
9.dictsortreversed
和上面恰好相反
10.divisibleby
是否能够被某个数字整除,是的话返回True,否则返回False
11.escape
对字符串进行转义
12.escapejs
替换value中的某些字符,以适应JAVASCRIPT和JSON格式
13.filesizeformat
格式化文件大小显示
14.first
返回列表中的第一个值
15.last
返回列表中的最后一个值
16.floatformat
格式化浮点数
17.length
求字符串或者列表长度
18.length_js
比较字符串或者列表的长度
19.urlencode
对URL进行编码处理
20.upper\lower
大写\小写
21.safe
对某个变量关闭自动转义
22.slice
切片操作
{{ some_list|slice:":2" }}
If some_list
is ['a', 'b', 'c']
, the output will be ['a', 'b']
.
23.time
格式化时间
{{ value|time:"H:i" }}
24.timesince
格式化时间
25.truncatechars
按照字符截取字符串
{{ value|truncatechars:9 }}
If value
is "Joel is a slug"
, the output will be "Joel i..."
.
26.truncatewords
按照单词截取字符串
27.striptags
过滤掉html标签
{{ value|striptags }}
If value
is "<b>Joel</b> <button>is</button> a <span>slug</span>"
, the output will be "Joel is a slug"
.
标签和过滤器,更多详见:https://docs.djangoproject.com/en/1.10/ref/templates/builtins/
***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***
Django进阶Template篇001 - 常用模板标签及过滤器的更多相关文章
- Django进阶Template篇002 - 模板包含和继承
包含 {% include %} 允许在模板中包含其他模板的内容. {% include "foo/bar.html" %} {% include template_name %} ...
- Django框架基础知识05-自定义模板标签与过滤器
根据一定规则,自己定义出符合需求功能的.用在任何你有需求的地方,因为内置的满足不了我们的需求,不同的东西有不同的定义规则 目前最最重要的就是HOW 一 文件路径配置: templates 存放自定义 ...
- Django进阶Model篇001 - mysql 数据库的配置
django 默认支持sqlite.mysql.oracle.postgresql数据库,像db2和sqlserver之类的数据库需要第三方的支持,具体详见: https://docs.djangop ...
- Django-常用模板标签及过滤器
常用模板标签及过滤器 标签和过滤器完整介绍 https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 模板的组成 HTML代码+ 逻 ...
- python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器
python3.5 manage.py runserver python Django教程 之模板渲染.循环.条件判断.常用的标签.过滤器 一.Django模板渲染模板 1. 创建一个 zqxt_tm ...
- Django 笔记(四)模板标签 ~ 自定义过滤器
模板标签: 标签在渲染的过程中提供任意的逻辑 语法: 由{% ... %} 和 {% end... %} 常用标签: with:类似取别名 模版继承: Django模版引擎中最强大也是最复杂的部分就是 ...
- Django(十五)模板详解:模板标签、过滤器、模板注释、模板继承、html转义
一.模板的基础配置及使用 [参考]https://docs.djangoproject.com/zh-hans/3.0/topics/templates/ 作为Web框架,Django提供了模板,用于 ...
- Django 学习笔记(五)模板标签
关于Django模板标签官方网址https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.IF标签 Hello World/vi ...
- Django进阶Model篇005 - QuerySet常用的API
django.db.models.query.QuerySet QuerySet特点: 1.可迭代 2.可切片 查询相关API 1.get(**kwargs):返回与所给的筛选条件相匹配的对象,返回结 ...
随机推荐
- 剑指Offer——重建二叉树
题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7 ...
- Spring的IoC模式
1.依赖 依赖就是有联系,有地方使用到它就是有依赖它,一个系统不可能完全避免依赖.如果你的一个类或者模块在项目中没有用到它,恭喜你,可以从项目中剔除它或者排除它了,因为没有一个地方会依赖它.下面看一个 ...
- Mysql查询结果导出为Excel的几种方法
本文地址:http://www.cnblogs.com/qiaoyihang/p/6398673.html 具体原文找不到了,此篇是借鉴门户的一篇文章 方法一:查询语句直接输出语法格式: Exampl ...
- Spark 1.5新特性介绍
一.DataFrame执行后端优化(Tungsten第一阶段) DataFrame可以说是整个Spark项目最核心的部分,在1.5这个开发周期内最大的变化就是Tungsten项目的第一阶段已经完成.主 ...
- Kattis - fence2【二分法】
Kattis - fence2[二分法] 题意 有一个农夫需要建造一个 N - 1 米长的篱笆,需要 N 根柱子,然后有 K 根 柱子 需要将这 K 根柱子 切成 N 段 然后 要尽量保证这 N 段柱 ...
- HDU 1501 Zipper 【DFS+剪枝】
HDU 1501 Zipper [DFS+剪枝] Problem Description Given three strings, you are to determine whether the t ...
- 自动化测试管理平台ATMS(V1.0.1_7.29)下载
自动化测试管理平台ATMS(V1.0.1_7.29)下载http://automationqa.com/forum.php?mod=viewthread&tid=2582&fromui ...
- 搭建自己的npm仓库
第一步:安装Erlang环境 首先,安装必要的库 yum install build-essential yum install libncurses5-dev yum install libssl- ...
- day1 python判断输入的密码是否正确
_username = 'leon' _password = 'zyl' username = input("username:") password = input(" ...
- [转]让你从零开始学会写爬虫的5个教程(Python)
让你从零开始学会写爬虫的5个教程(Python) 写爬虫总是非常吸引IT学习者,毕竟光听起来就很酷炫极客,我也知道很多人学完基础知识之后,第一个项目开发就是自己写一个爬虫玩玩. 其实懂了之后,写个 ...