过滤器的使用
在使用模版过程中,经常需要对原始数据进行一定处理,例如对一个整型数据执行加法运算等,下面整理了一下我们常用的一些过滤器的使用情况。
过滤器关键词 | 作用 | 例子 | 说明 |
---|---|---|---|
add | 将add后的参数加给前面的变量 | {{ value|add:"4" }} | 变量value为list / kwargs时返回空,为string时为字符串拼接,为int时为数字加法 |
length | 返回前面变量的长度 | {{ value|length }} | 变量value为list / kwargs时为元素的数量,为string时为字符数量,为int时为0 |
addslashes | 给变量中的引号前加上斜线 | {{ value|addslashes }} | |
capfirst | 首字母大写 | {{ value|capfirst }} | |
cut | 从字符串中移除指定的字符 | {{ value|cut:arg }} | 变量value中移除所有的字符arg |
date | 格式化日期字符串 | {{ value|date:"Y-m-d H:i:s" }} | 将date/datetime类型变量按照指定格式输出 |
default | 如果变量为[] / '' / 0 / {} / False / None,就替换为设置的指定值,否则用本来的值 | {{ value|default:arg }} | 如果 list.0 或者 kwargs.arg 都不存在时,也会返回default指定的值 |
default_if_none | 如果是None,就替换为设置的指定值,否则用本来的值 | {{ value|default_if_none:arg }} | 和 default 的区别在于,该变量value必须为None时才取指定的值 |
last | 返回变量的最后一个元素 | {{ value|last }} | list / string / kwargs 都可以使用该过滤器,string是获取最后一个字符,kwargs则没有意义 |
标签
with
使用 with
可以用简单的变量名替代复杂的变量名,例如如下,使用 simple_para_name
代替 complex_para_name
{% with simple_para_name=complex_para_name %}
处理变量 {{ simple_para_name }}
{% endwith %}
as
如果想临时设置变量,例如通过一些过滤器操作变量得到新的变量,可以使用 as
例如如下
{% custom_function initial_data new_data %}
verbatim
如果在模版中想禁止 render
渲染,就可以使用该标签,例如如下,就会显示 {{ value }}
{% verbatim %}
显示变量,不会去渲染 {{ value }}
{% endverbatim %}