Django模板中如何使用slice过滤器进行字符串和列表的切片?
使用slice过滤器可以对字符串和列表进行切片,其语法如下:
对于列表:
{{ 列表名称|slice:":j:i" }}
其中,j为切片结束索引(不包含),i为步长(默认为1),留空表示取到末尾。
对于字符串:
{{ 字符串名称|slice:"j:i" }}
其中,j为切片开始索引,i为切片结束索引(不包含),留空表示取到末尾。
下面是一个代码演示:
# views.py from django.shortcuts import render def index(request): my_str = 'pidancode.com' my_list = ['p', 'i', 'd', 'a', 'n', 'c', 'o', 'd', 'e'] return render(request, 'index.html', {'my_str': my_str, 'my_list': my_list})
<!--index.html--> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Django slice filter demo</title> </head> <body> <h2>使用slice过滤器切片字符串</h2> <p>{{ my_str|slice:":5" }}</p> <!-- 输出pidan --> <p>{{ my_str|slice:"5:" }}</p> <!-- 输出code.com --> <p>{{ my_str|slice:"5:8" }}</p> <!-- 输出cod --> <h2>使用slice过滤器切片列表</h2> <p>{{ my_list|slice:":5" }}</p> <!-- 输出['p', 'i', 'd', 'a', 'n'] --> <p>{{ my_list|slice:"5:" }}</p> <!-- 输出['c', 'o', 'd', 'e'] --> <p>{{ my_list|slice:"2:7:2" }}</p> <!-- 输出['d', 'n', 'o'] --> </body> </html>
相关文章