模板语言

模板语言

{{  }}和 {% %}

变量相关的用{{}},逻辑相关的用{%%}。

1.如果一个变量是false或者为空,使用给定的默认值。 否则,使用变量的值。

{{ value|default:"nothing"}}

2.返回值的长度,作用于字符串和列表。
{{ value|length }}
返回value的长度,如 value=['a', 'b', 'c', 'd']的话,就显示4

3.将值格式化为一个 “人类可读的” 文件尺寸 (例如 '13 KB', '4.1 MB', '102 bytes', 等等)。例如:
{{ value|filesizeformat }}
如果 value 是 123456789,输出将会是 117.7 MB。
4.切片

{{value|slice:"2:-1"}}

5.格式化

{{ value|date:"Y-m-d H:i:s"}}

6.在Django中关闭HTML的自动转义有两种方式,如果是一个单独的变量我们可以通过过滤器“|safe”
的方式告诉Django这段代码是安全的不必转义。
value = "<a href='#'>点我</a>"
{{ value|safe}}
7.如果字符串字符多于指定的字符数量,那么会被截断。截断的字符串将以可翻译的省略号序列(“...”)结尾。
参数:截断的字符数
{{ value|truncatechars:9}}
8.在一定数量的字后截断字符串。

{{ value|truncatewords:9}}
9.移除value中所有的与给出的变量相同的字符串

{{ value|cut:' ' }}
如果value为'i love you',那么将输出'iloveyou'.

10.普通for循环

<ul>
{% for user in user_list %}
    <li>{{ user.name }}</li>
{% endfor %}
</ul>

for循环可用的一些参数:
Variable    Description
forloop.counter        当前循环的索引值(从1开始)
forloop.counter0    当前循环的索引值(从0开始)
forloop.revcounter    当前循环的倒序索引值(从1开始)
forloop.revcounter0    当前循环的倒序索引值(从0开始)
forloop.first        当前循环是不是第一次循环(布尔值)
forloop.last         当前循环是不是最后一次循环(布尔值)
forloop.parentloop    本层循环的外层循环

11.for ... empty

<ul>
{% for user in user_list %}
    <li>{{ user.name }}</li>
{% empty %}
    <li>空空如也</li>
{% endfor %}
</ul>

12.if,elif和else


{% if user_list %}
  用户人数:{{ user_list|length }}
{% elif black_list %}
  黑名单数:{{ black_list|length }}
{% else %}
  没有用户
{% endif %}

{% if user_list|length > 5 %}
  七座豪华SUV
{% else %}
    黄包车
{% endif %}
原文地址:https://www.cnblogs.com/chvv/p/10383648.html