美文网首页Linux学习之路我用 LinuxLinux
django模板2-常用过滤器(下)

django模板2-常用过滤器(下)

作者: 小短腿电工 | 来源:发表于2019-02-24 16:01 被阅读9次

default

如果值被评估为False。比如[]""None{}等这些在if判断中为False的值,都会使用default过滤器提供的默认值。示例代码如下:

{{ value|default:"nothing" }}

如果value是等于一个空的字符串。比如"",那么以上代码将会输出nothing

default_if_none

如果值是None,那么将会使用default_if_none提供的默认值。这个和default有区别,default是所有被评估为False的都会使用默认值。而default_if_none则只有这个值是等于None的时候才会使用默认值。示例代码如下:

{{ value|default_if_none:"nothing" }}

如果value是等于""也即空字符串,那么以上会输出空字符串。如果value是一个None值,以上代码才会输出nothing

first

返回列表/元组/字符串中的第一个元素。示例代码如下:

{{ value|first }}

如果value是等于['a','b','c'],那么输出将会是a

last

返回列表/元组/字符串中的最后一个元素。示例代码如下:

{{ value|last }}

如果value是等于['a','b','c'],那么输出将会是c

floatformat

使用四舍五入的方式格式化一个浮点类型。如果这个过滤器没有传递任何参数。那么只会在小数点后保留一个小数,如果小数后面全是0,那么只会保留整数。当然也可以传递一个参数,标识具体要保留几个小数。

  1. 如果没有传递参数:

    | value | 模版代码 | 输出 | | --- | --- | --- | | 34.23234 | {{ value|floatformat }} | 34.2 | | 34.000 | {{ value|floatformat }} | 34 | | 34.260 | {{ value|floatformat }} | 34.3 |

  2. 如果传递参数 | value | 模版代码 | 输出 | | --- | --- | --- | | 34.23234 | {{value|floatformat:3}} | 34.232 | | 34.0000 | {{value|floatformat:3}} | 34.000 | | 34.26000 | {{value|floatformat:3}} | 34.260 |

join

类似与Python中的join,将列表/元组/字符串用指定的字符进行拼接。示例代码如下:

{{ value|join:"/" }}

如果value是等于['a','b','c'],那么以上代码将输出a/b/c

length

获取一个列表/元组/字符串/字典的长度。示例代码如下:

{{ value|length }}

如果value是等于['a','b','c'],那么以上代码将输出3。如果valueNone,那么以上将返回0

lower

将值中所有的字符全部转换成小写。示例代码如下:

{{ value|lower }}

如果value是等于Hello World。那么以上代码将输出hello world

upper

类似于lower,只不过是将指定的字符串全部转换成大写。

random

在被给的列表/字符串/元组中随机的选择一个值。示例代码如下:

{{ value|random }}

如果value是等于['a','b','c'],那么以上代码会在列表中随机选择一个。

safe

标记一个字符串是安全的。也即会关掉这个字符串的自动转义。示例代码如下:

{{value|safe}}

如果value是一个不包含任何特殊字符的字符串,比如<a>这种,那么以上代码就会把字符串正常的输入。如果value是一串html代码,那么以上代码将会把这个html代码渲染到浏览器中。

slice

类似于Python中的切片操作。示例代码如下:

{{ some_list|slice:"2:" }}

以上代码将会给some_list2开始做切片操作。

stringtags

删除字符串中所有的html标签。示例代码如下:

{{ value|striptags }}

如果value<strong>hello world</strong>,那么以上代码将会输出hello world

truncatechars

如果给定的字符串长度超过了过滤器指定的长度。那么就会进行切割,并且会拼接三个点来作为省略号。示例代码如下:

{{ value|truncatechars:5 }}

如果value是等于北京欢迎您~,那么输出的结果是北京...。可能你会想,为什么不会北京欢迎您...呢。因为三个点也占了三个字符,所以北京+三
个点的字符长度就是5。

truncatechars_html

类似于truncatechars,只不过是不会切割html标签。示例代码如下:

{{ value|truncatechars:5 }}

如果value是等于<p>北京欢迎您~</p>,那么输出将是<p>北京...</p>

相关文章

  • django模板2-常用过滤器(下)

    default 如果值被评估为False。比如[],"",None,{}等这些在if判断中为False的值,都会使...

  • Django_补充小技巧

    1.Templates过滤器 什么是过滤器? 写在模板中,属于Django模板语言 可以修改模板中的变量,...

  • django模板2-常用过滤器(上)

    模版常用过滤器 在模版中,有时候需要对一些数据进行处理以后才能使用。一般在Python中我们是通过函数的形式来完成...

  • django过滤器

    过滤器写在模板中,属于django模板语言。这样使用: value是变量,filter是过滤器。举例: 返回lis...

  • Django学习(7)-模板进阶

    学习Django模板中的循环,条件判断,常用的标签,过滤器的使用。 列表,字典,类的实例的使用 循环: 迭代显示列...

  • django模板进阶

    本节主要讲Django模板中的循环、条件判断、常用标签、过滤器的使用。1、列表、字典、类的实例的使用2、循环:迭代...

  • Django中自定义模板过滤器

    Django中的模板过滤器强大又好用。当然如果你的项目是前后端分离,未用到模板,那也就不存在模板过滤器一说。 模板...

  • 2.利用Django2.0搭建个人博客网站系列教程2

    本教程来源于:B站杨仕航Django2.0开发视频教程,如需转载,必须注明来源! 常用的模板标签和过滤器 1.继续...

  • 3.Django模板语言

    Django模板语言 常用语法变量相关的用{{ }}逻辑相关的用{% %} 变量在Django的模板语言使用变量的...

  • 2020-06-02--flask04--flask基础04

    jinja2模板 表单验证 WTF表单验证 jinjia2语法 过滤器 jinja2的过滤器与django中的过滤...

网友评论

    本文标题:django模板2-常用过滤器(下)

    本文链接:https://www.haomeiwen.com/subject/wxhbyqtx.html