当前位置: 代码迷 >> 综合 >> 35.Python中join、length、lower、upper、random、safe、slice、truncatechars、truncatechars_html过滤器
  详细解决方案

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

热度:40   发布时间:2024-01-25 07:42:02.0
1.join过滤器:类似于中的join,将列表/元组/字符串用指的字符进行拼接,可以在join过滤器之后指定分隔符,示例代码如下:
views.py中代码如下:
from django.shortcuts import renderdef 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 renderdef 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...-->
  相关解决方案