Chinaunix首页 | 论坛 | 博客
  • 博客访问: 142665
  • 博文数量: 61
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 590
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-03 15:26
文章分类

全部博文(61)

文章存档

2010年(9)

2009年(52)

我的朋友

分类: Python/Ruby

2009-09-09 23:30:52

<html>
<head><title>Ordering notice</title></head>

<body>

<p>Dear {{ person_name }},</p>

<p>Thanks for placing an order from {{ company }}. It's scheduled to
ship on {{ ship_date|date:"F j, Y" }}.



Here are the items you've ordered:</p>

<ul>
{% for item in item_list %}
<li>{{ item }}</li>
{% endfor %}
</ul>

{% if ordered_warranty %}
<p>Your warranty information will be included in the packaging.</p>
{% endif %}

<p>Sincerely,<br />{{ company }}</p>

</body>
</html>

任何用两个大括号括起来的文字(例如 {{ person_name }} )是一个 变量(variable) 。这意味着将根据变量 的名字插入变量的值。

任何被中括号加百分号包含的文字(例如 {% if ordered_warranty %} ) 是一个 模板标签(template tag) 。标签(tag)定义十分宽泛: 一个标签(tag) 就是告诉模板系统(template system)做某些事。

这个示例模板包含两个标签(tag): {% for item in item_list %} 标签(一个 for 标签) 和 {% if ordered_warranty %} 标签 (一个 if 标签)。

for 标签用来构建一个简单的循环,允许你遍历循环中的每一项.``if`` 标签,正如你所预期的,是用来执行逻辑判断的。在这个例子中标签检测 ordered_warranty 变量值是否为``True`` . 如果是,模板系统将显示 {% if ordered_warranty %} 与 {% endif %} 中的所有内容. 如果不是模板系统不会显示它.它当然也支持 {% else %} 以及其他多种的逻辑判断方式.

最后,这个模板的第二段落有一个 filter 过滤器的例子,它能让你用来转换变量的输出, 在这个例子中, {{ship_date|date:"F j, Y" }} 将变量 ship_date 用 date 过滤器来转换,转换的参数是 "F j, Y" . date 过滤器根据指定的参数进行格式输 出.过滤器是用管道字符( | )来调用的,就和Unix管道一样.
阅读(614) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~