Django filter 标签

过滤器

filter 标签让您可以在返回值之前通过过滤器处理值。

使用 | 字符后跟过滤器名称来指定过滤器。

过滤器的名称定义过滤器将如何处理该值。

实例

返回 mymembers 对象中每个项的长度:

  1. <ul>
  2. {% for x in mymembers %}
  3. <li>{{ x.firstname|length }}</li>
  4. {% endfor %}
  5. </ul>
结果
  • 4
  • 6
  • 5
  • 4
  • 9

过滤器参考

所有过滤器关键字的列表:

关键字描述
add添加指定的值。
addslashes在任何引号字符之前添加斜杠,用来转义字符串
capfirst返回大写的第一个字母
center将值集中在指定宽度的中间。
cut删除任何指定的字符或短语
date返回指定格式的日期。
default如果值为 False,则返回指定的值
default_if_none如果值为 None,则返回指定的值。
dictsort按给定值对字典排序
dictsortreversed按给定值对字典进行反向排序。
divisibleby如果值可以除以指定的数字,则返回 True,否则返回 False
escape从字符串中转义 HTML 代码。
escapejs从字符串中转义 JavaScript 代码
filesizeformat将数字返回为文件大小格式。
first返回对象的第一项(对于字符串,返回第一个字符)。
floatformat将浮点数舍入到指定的小数位数,默认为 1 位小数。
force_escape从字符串中转义 HTML 代码。
get_digit返回数字的特定数字。
iriencode将 IRI 转换为 URL 友好字符串
join将列表中的项返回为字符串。
json_script将对象返回到由 <script></script> 标记包围的 JSON 对象中。
last返回对象的最后一项(对于字符串,返回最后一个字符)。
length返回对象中的项数或字符串中的字符数。
length_is如果长度与指定的数字相同,则返回 True
linebreaks返回带有 <br> 而不是换行符的文本,以及 <p> 而不是多个换行符的文本。
linebreaksbr返回带有 <br> 而不是换行符的文本。
linenumbers返回包含每行行号的文本。
ljust根据指定的宽度将值左对齐。
lower以小写字母返回文本。
make_list将值转换为列表对象。
phone2numeric将带有字母的电话号码转换为数字电话号码。
pluralize如果指定的数值不是 1,则在值的末尾添加 's'。
pprint 
random返回对象的随机项。
rjust根据指定的宽度将值右对齐。
safe标记此文本是安全的,不应进行 HTML 转义。
safeseq将对象的每个项标记为安全的,并且不应被 HTML 转义。
slice返回文本或对象的指定片段。
slugify将文本转换为一个长的字母数字小写单词。
stringformat将值转换为指定格式
striptags从文本中删除 HTML 标记。
time以指定格式返回时间。
timesince返回两个日期时间之间的差。
timeuntil返回两个日期时间之间的差。
title将文本中每个单词的第一个字符大写,所有其他字符都转换为小写。
truncatechars将字符串缩短为指定的字符数。
truncatechars_html将字符串缩短为指定的字符数,而不考虑任何 HTML 标记的长度。
truncatewords将字符串缩短为指定的字数。
truncatewords_html将字符串缩短为指定的字数,不考虑任何 HTML 标记。
unordered_list以无序 HTML 列表的形式返回对象的项。
upper以大写字母返回文本。
urlencode对字符串进行 URL 编码。
urlize以 HTML 链接的形式返回字符串中的任何 URL。
urlizetrunc以 HTML 链接的形式返回字符串中的任何 URL,但将链接缩短为指定的字符数。
wordcount返回文本中的字数。
wordwrap按指定的字符数换行。
yesno将布尔值转换为指定值。
i18n 
l10n 
tz