Django模板过滤器

Django模板过滤器

Django模板引擎提供了过滤器,用于转换变量和标签参数的值。我们已经讨论了主要的Django模板标签。标签不能修改变量的值,而过滤器可以用来增加变量的值或根据自己的需要进行修改。

语法
{{ variable_name | filter_name }}

过滤器可以是 “链式 “的。一个过滤器的输出被应用于下一个。{{ text|escape|linebreaks }}是一个常见的习惯,用于转义文本内容,然后将换行符转换为

标签。

示例
{{ value | length }}

如果值是[‘a’, ‘b’, ‘c’, ‘d’] , 输出将是4。

Django中的主要模板过滤器

这篇文章围绕着在项目中可以使用的各种Django模板过滤器。过滤器可以转换变量和标签参数的值。让我们来看看一些主要的过滤器。

add addslashes capfirst
center cut date
default dictsort divisibleby
escape filesizeformat first
join last length
linenumbers lower make_list
random slice slugify
time timesince title
unordered_list upper wordcount

1.add

它被用来向值添加一个参数。
示例

{{ value | add:"2" }}

如果值是4,那么输出将是6。这个过滤器是用来增加django模板中的一个变量的。

2.addslashes

它用于在引号前添加斜线。对CSV中的字符串的转义很有用。
示例

{{ value | addslashes }}

如果值是 “I’m Jai”,输出将是 “I\’m Jai”。

3.capfirst

它用于将值的第一个字符大写。如果第一个字符不是一个字母,这个过滤器就没有作用。
示例

{{ value | capfirst }}

如果值是 “Jai”,输出将是 “Jai”。

4.center

它用于在一个给定宽度的字段中使数值居中。
示例

"{{ value | center:"15" }}"

如果值是 “Jai”,输出将是 “Jai”。

5.cut

它用于从给定的字符串中删除arg的所有值。

示例

{{ value | cut:" " }}

如果值是 “带空格的字符串”,输出将是 “带空格的字符串”。

6.date

它用于根据给定的格式来格式化一个日期。
示例

{{ value | date:"D d M Y" }}

如果value是一个日期时间对象(例如,datetime.datetime.now()的结果),输出将是字符串 “Thu 06 Feb 2020″。欲了解更多信息和模式,请访问这里。

7.default

它被用来给一个变量一个默认值。如果变量的评估值为False,它将使用给出的默认参数,否则就是变量值本身。

示例

{{ value | default:"nothing" }}

如果值是””(空字符串),输出将是空的。

8.dictsort

它接收一个字典的列表,并返回按参数中给出的键排序的列表。
示例

{{ value | dictsort:"name" }}

如果值是。

     [
        {'name': 'zed', 'age': 19},
        {'name': 'amy', 'age': 22},
        {'name': 'joe', 'age': 31},
    ]

那么输出将是。

[
        {'name': 'amy', 'age': 22},
        {'name': 'joe', 'age': 31},
        {'name': 'zed', 'age': 19},
 ] 

9.divisibleby

如果该值能被参数整除,则返回 “真”。
示例

{{ value | divisibleby:"3" }}

如果值为21,则输出为True。

10.escape

它被用来对一个字符串的HTML进行转义。具体来说,它进行这些替换。

    < is converted to <> is converted to >
    ' (single quote) is converted to '
    " (double quote) is converted to "
    & is converted to &

示例

{{ title | escape }}

11.filesizeformat

它用于将该值格式化为 “人类可读 “的文件大小(即 “13 KB”、”4.1 MB”、”102字节”,等等)。
示例

{{ value | filesizeformat }}

如果值是123456789,输出将是117.7MB。

12.first

它用于返回一个列表中的第一个项目。
示例

{{ value | first }}

如果value是列表[‘a’, ‘b’, ‘c’],输出将是’a’。

13.join

它用于用一个字符串连接一个列表,就像 Python 的 str.join(list) 一样。
示例

{{ value | join:" // " }}

如果value是列表[‘a’, ‘b’, ‘c’],输出将是字符串 “a / b / c”。

14.last

它用于返回一个列表中的最后一个项目。
示例

{{ value | last }}

如果value是列表[‘a’, ‘b’, ‘c’, ‘d’],输出将是字符串 “d”。

15.length

它用于返回值的长度。这对字符串和列表都有效。
示例

{{ value | length }}

如果值是[‘a’, ‘b’, ‘c’, ‘d’]或 “abcd”,输出将是4。

16.linenumbers

它用于显示带有行号的文本。
示例

{{ value | linenumbers }}

如果值是。

one
two
three

输出将是。

1. one
2. two
3. three

17.lower

它用于将一个字符串转换为全小写。
示例

{{ value | lower }}}

如果值是My Name is Jai ,输出将是My Name is Jai。

18.make_list

它用于返回变成列表的值。对于一个字符串,它是一个字符列表。对于一个整数,在创建一个列表之前,参数被转换为一个字符串。
示例

{{ value | make_list }}

如果值是字符串 “Naveen”,输出将是列表[‘N’, ‘a’, ‘v’, ‘e’, ‘e’, ‘n’] 。如果值是123,输出将是列表[‘1’, ‘2’, ‘3’]。

19.random

它用于从给定的列表中返回一个随机项目。
示例

{{ value | random }}

如果value是列表[‘a’, ‘b’, ‘c’, ‘d’],输出可能是 “b”。

20.slice

它用于返回列表的一个片断。
示例

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

如果some_list是[‘a’, ‘b’, ‘c’],输出将是[‘a’, ‘b’]。

21.slugify

它是用来转换为ASCII的。它将空格转换为连字符,并删除不是字母数字、下划线或连字符的字符。转换为小写。还会剥离前导和尾部的空白。
示例

{{ value | slugify }}

如果值是 “Jai is a slug”,输出将是 “jai-is-a-slug”。

22.time

它用于根据给定的格式对时间进行格式化。
示例

{{ value | time:"H:i" }}

如果值等同于datetime.datetime.now(),输出将是字符串 “01:23″。

23.timesince

它用于将一个日期格式化为该日期以来的时间(例如,”4天6小时”)。

示例

{{ blog_date | timesince:comment_date }}

如果blog_date是一个代表2006年6月1日午夜的日期实例,而comment_date是一个代表2006年6月1日08:00的日期实例,那么下面会返回 “8小时”

24.title

它用于将一个字符串转换为标题大写,使单词以大写字符开始,其余字符为小写。这个过滤器没有努力将 “琐碎的单词 “保持在小写。

示例

{{ value | title }}

如果值是 “我的第一篇文章”,输出将是 “我的第一篇文章”。

25.unordered_list

它用于递归地获取一个自嵌套的列表,并返回一个HTML无序列表–没有打开和关闭<ul></ul>标签。

示例

{{ var | unordered_list }}

如果var包含[‘States’, [‘Kansas’, [‘Lawrence’, ‘Topeka’], ‘Illinois’]],那么{{var|unordered_list }}将返回。

    <li>States
    <ul>
            <li>Kansas
            <ul>
                    <li>Lawrence</li>
                    <li>Topeka</li>
            </ul>
            </li>
            <li>Illinois</li>
    </ul>
    </li>
             </li>

26.upper

它用于将一个字符串转换为所有大写字母。
示例

{{ value | upper }}

如果值是 “Jai是个鼻涕虫”,输出将是 “JAI是个鼻涕虫”。

27.wordcount

它用于返回字数。
示例

{{ value | wordcount }}

如果值是 “jai is a slug”,输出将是4。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程