35.Python中join、length、lower、upper、random、safe、slice、truncatechars、truncatechars_html过滤器

1.join过滤器:类似于中的join,将列表/元组/字符串用指的字符进行拼接,可以在join过滤器之后指定分隔符,示例代码如下:
views.py中代码如下:
from django.shortcuts import render


def join(request):
    context = {
        'value':['python','django','flask']
    }
    return render(request,'join.html',context=context)
join.html中代码如下所示:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    {{ value|join:"+" }}
</body>
</html>

浏览器中查看运行结果如下所示:
在这里插入图片描述

2.length过滤器:获取一个列表/元组/字符串/字典(python中所有可以使用len()函数的类型)的长度,示例代码如下:
join.html中代码如下:
    <p>{{ value|join:"+" }}</p>
    <p>{{ value|length }}</p>

在浏览器中查看获取的列表的长度:
在这里插入图片描述

3.lower过滤器:将值中所有的字符串全部转换成小写,示例代码如下:
{#  将value值中所有的字符全部转换成小写  #}
    {{ value|lower }}
4.upper过滤器:将值中所有的字符串全部转换为大写,示例代码如下:
{#  将value值中所有的字符全部转换成大写  #}
    {{ value|upper }}

浏览器中查看运行结果:
在这里插入图片描述

5.random过滤器:在被给的列表/字符串/元组中随机的选择一个值,示例代码如下:
views.py中代码如下:
def random(request):
    context = {
        'value':[1,2,3,4]
    }
    return render(request,'random.html',context=context)
random.html中代码如下:
{#  每一次刷新都会从value中选出一个随机值  #}
    {{ value|random }}
6.safe过滤器:标记一个字符串是安全的,也会关掉这个字符串的自动转义,示例代码如下:
from django.shortcuts import render

def random(request):
    context = {
        'value':[1,2,3,4],
        'value1':"<a href='https://wwww.baidu.com'>百度</a>"
    }
    return render(request,'random.html',context=context)
{#  如果value是一个不包含任何特殊字符串,比如<a>这种,那么以上代码就会把字符串正常的输入, #}
{#  value值是包含html的代码,那么就可以使用safe过滤器将html代码渲染到浏览器中  #}
    <p>{{ value|safe }}</p>
    <p>{{ value1|safe }}</p>
    
    
{#  不关闭自动转义,进行查看  #}
    <p>{{ value1 }}</p>

在浏览器中查看safe过滤器运行结果:
在这里插入图片描述

7.slice过滤器:类似于Python中的切片操作,但是在模板当中实现一个切片操作的话,就可以通过使用slice过滤器,示例代码如下:
views.py中代码如下:
def slice(request):
    context = {
        'value':['1','5','4','3']
    }
    return render(request,'slice.html',context=context)
slice.html中代码如下:
<body>
<!--将会把值value从2处开始进行切片-->
    {{ value|slice:"2:" }}
</body>
8.stringtags过滤器:删除字符串中所有的html标签,如果value是Hello World!,就会输出Hello World!示例代码如下:
{{ value|striptags }}
9.truncatechars过滤器:如果给定的字符串长度超过了过滤器指定的长度,那么就会进行切割,并且拼接三个点作为省略号,示例代码如下:
{{ value|truncatechars:5 }}
10.truncatechars_html过滤器:类似于truncatechars,只不过是不会切割html标签,示例代码如下:
{{ value|truncatechars_html:5 }}
<!--例如-->
value:<p>欢迎来到斯坦福大学</p>
<!--如果使用truncatechars_html进行切割的话,就会返回<p>北京...</p>-->
<!--但是如果使用truncatechars进行切割的话,就会返回<p...-->
发布了76 篇原创文章 · 获赞 2 · 访问量 2745

猜你喜欢

转载自blog.csdn.net/zjy123078_zjy/article/details/104009553