您的位置:首页 > 编程语言 > Python开发

[Dynamic Language] Python Django: 模板引擎(3)模板标签和过滤器

2010-06-20 23:07 901 查看
模板系统带有内置的标签和过滤器

标签

if/else

代码

23 <ul>
24     {% for name in namelist %}
25         {% if forloop.first %}
26             this first name is : {{ name }}</br>
27         {% endif %}
28         {{ forloop.counter }} : {{ name }}
29
30         {% for subname in name %}
31             <li>{{ subname }}{% if not forloop.last %},{% endif %}</li>
32         {% endfor %}
33
34         {% if forloop.last %}
35             this last name is : {{ name }} </br>
36         {% endif %}
37     {% empty %}
38         the namelist is empty.
39     {% endfor  %}
40 </ul>


ifequal/ifnotequal

{% ifequal %} 标签比较两个值,当他们相等时,显示在 {% ifequal %} 和 {% endifequal %} 之中所有的值。
只有模板变量,字符串,整数和小数可以作为 {% ifequal %} 标签的参数。

4 {% ifequal name name1 %}
5     <p> welcome {{ name }} and {{ name1 }}</p>
6 {% else %}
7     <p> the name != name1 </p>
8 {% endifequal %}


注释
单行注释使用
{# 注释 #}

多行注释

{% comment %}
注释
注释
注释
{% endcomment %}


过滤器
模板过滤器是在变量被显示前修改它的值的一个简单方法。
过滤器使用管道字符,可以被* 套接* ,既是说,一个过滤器管道的输出又可以作为下一个管道的输入,如此下去.

<p> welcome {{ name|upper }} and {{ name1|lower|upper }}</p>


几个重要的过滤器
addslashes : 添加反斜杠到任何反斜杠、单引号或者双引号前面。 这在处理包含JavaScript的文本时是非常有用的。
date : 按指定的格式字符串参数格式化 date 或者 datetime 对象, 范例:
{{ pub_date|date:"F j, Y" }}

length : 返回变量的长度。 对于列表,这个参数将返回列表元素的个数。 对于字符串,这个参数将返回字符串中字符的个数。 你可以对列表或者字符串,或者任何知道怎么测定长度的Python 对象使用这个方法(也就是说,有 __len__() 方法的对象)。

更多信息参考
附录F 内建的模板标签和过滤器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: