语言过滤器(Django模板语言)
大家好,关于语言过滤器很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于Django模板语言的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
Django模板语言,过滤器整理
{{value|add:\"2\"}}
处理时,过滤器首先会强制把两个值转换成Int类型。如果强制转换失败,它会试图使用各种方式吧两个值相加。
2)arg是5,val是\'3\',将会输出8
3)arg是\'jason\',val是\'2\',将会输出jason2
4)arg是\'jason\',val是2,将会输出空
5)arg是[1,2,3],val是[4],将会输出[1,2,3,4]
如果value是\"I\'musingDjango\",输出将变成\"I\\\\\'musingDjango\"
将变量的第一个字母变成大写,如果第一个字符不是字母,则过滤器不生效
如果\"value\"是\"django\",输出将变成Django。
使\"value\"在给定的宽度范围内居中。
移除value中所有的与给出的变量相同的字符串
如果value为“Stringwithspaces”,输出将为\"Stringwithspaces\"。
根据给定格式对一个date变量格式化
传递的格式可以是预定义的格式DATE_FORMAT,DATETIME_FORMAT,SHORT_DATE_FORMAT或SHORT_DATETIME_FORMAT
3){{now|date:\"DATETIME_FORMAT\"}}
输出类似:Oct.9,2018,11:19a.m.
如果value的计算结果为False,则使用给定的默认值。否则,使用该value。
8.default_if_none
{{value|default_if_none:\"nothing\"}}
当且仅当value为None,则使用给定的默认值。否则,使用该value。
注意,如果给出一个空字符串,默认值将不被使用。
接受一个字典列表,并返回按参数中给出的键排序后的列表。
Value=[{\'name\':\'zed\',\'age\':19},{\'name\':\'amy\',\'age\':22},{\'name\':\'joe\',\'age\':31},]
{{Value|dictsort:\'name\'}}{{Value|dictsort:\'age\'}}
[{\'name\':\'amy\',\'age\':22},{\'name\':\'joe\',\'age\':31},{\'name\':\'zed\',\'age\':19}]
[{\'name\':\'zed\',\'age\':19},{\'name\':\'amy\',\'age\':22},{\'name\':\'joe\',\'age\':31}]
10.dictsortreversed
获取字典列表,并返回按照参数中给出的键按相反顺序排序的列表。这与上面的过滤器完全相同,但返回的值将是相反的顺序。
11.pisibleby
如果value可以被给出的参数整除,则返回True
12.filesizeformat
格式化为“可读”文件大小(即\'13KB\',t4>MB\',\'102bytes\'等)。
返回序列中的第一项(字符串、列表、元组等)
如果value是列表[\'a\',\'b\',\'c\'],输出将为\'a\'。
14.floatformat
当不使用参数时,将浮点数舍入到小数点后一位;使用参数时,保留参数指定的位数
给定一个整数,返回所请求的数字,其中1是最右边的数字,2是第二个最右边的数字等。返回无效输入的原始值(如果输入或参数不是整数,或参数小于1)。否则,输出总是一个整数。
如果value为123456789,则输出将为8。
使用字符串连接列表,例如Python的str.join(list)
如果value是列表[\'a\',\'b\',\'c\'],输出将为“a//b//C“。
如果value是列表[\'a\',\'b\',\'c\'],输出将为\'c\'
如果value是[\'a\',\'b\',\'c\',\'d\']或\"abcd\",输出将为4。
对于未定义的变量,过滤器返回0。
如果值的长度是参数,则返回True,否则返回False。
如果value是[\'a\',\'b\',\'c\',\'d\']或\"abcd\",输出将为True。
20.linebreaks
替换纯文本中的换行为正确的HTML标签;单独的一个换行变成(<br/>),原文本用p标签包裹起来。
如果value为Joel\\\\nisaslug,输出将为<p>Joel<br/>isaslug</p>。
21.linebreaksbr
与linebreaks类似,区别是,linebreaksbr只替换换行,替换完成后没有p标签包裹.
如果value为Joel\\\\nisaslug,输出将为Joel<br/>isaslug。
22.linenumbers
输出多行文本时,在行前显示行号.
将给定宽度的字段中的值左对齐。
如果value为Django,则输出将为“Django”。
如果value是字符串\"Joel\",输出将是列表[\'J\',\'o\',\'e\',\'l\']。如果value为123,输出将为列表[\'1\',\'2\',\'3\']。
如果值不是1则返回一个复数形式,通常用\'s\'表示.
Youhave{{num_messages}}message{{num_messages|pluralize}}.
如果num_messages是1,则输出将为Youhave1message.如果num_messages是2,输出将为Youhave2messages.
另外如果你需要的不是\'s\'后缀的话,你可以提供一个备选的参数给过滤器;
Youhave{{num_walruses}}walrus{{num_walruses|pluralize:\"es\"}}.
对于非一般形式的复数,你可以同时指定单复数形式,用逗号隔开.
Youhave{{num_cherries}}cherr{{num_cherries|pluralize:\"y,ies\"}}.
如果value是[\'a\',\'b\',\'c\',\'d\'],输出可能是\'c\'.
将字符串标记为在输出之前不需要进一步的HTML转义。当自动转义关闭时,此过滤器不起作用。
将safe过滤器应用于序列的每个元素。与对序列进行操作的其他过滤器(例如join)一起使用非常有用。
{{some_list|safeseq|join:\",\"}}
如果some_list为[\'a\',\'b\',\'c\'],那么输出将是[\'a\',\'b\']。
尽一切可能努力剥离所有[X]HTML标签。
如果value为\"<b>cuti</b>\",输出结果为cuti(不带样式).
将日期格式设为自该日期起的时间(例如,“4天,6小时”)。
blog_date=now-datetime.timedelta(days=2)
blog_date=now-datetime.timedelta(days=2)
将字符串中的每个单词首字母转为大写
如果value为“myFIRSTpost”,输出将为“MyFirstPost”。
38.truncatechars
如果字符串字符多于指定的字符数量,那么会被截断。截断的字符串将以可翻译的省略号序列(“...”)结尾。
如果value为“myFIRSTpost”,输出将为“MyFirst...”。
39.truncatewords
如果value为“mynameispost”,输出将为“Myname...”。
如果value为\"https://www.example.org/foo?a=b&c=d\",输出将为\"https%3A//www.example.org/foo%3Fa%3Db%26c%3Dd\"
可以提供包含不应该转义的字符的可选参数。
如果未提供,则\'/\'字符被假定为安全的。当所有字符应该转义时,可以提供空字符串。像这样:
如果value为\"https://www.example.org/\",输出将为\"https%3A%2F%2Fwww.example.org%2F\"
如果value是“Joelisaslug”,输出将为4
关于语言过滤器和Django模板语言的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。