在Jinja模板中,某些代码行位于{}中,而某些代码位于{%%}中。有什么不同?

时间:2019-03-06 20:52:31

标签: django jinja2

我正在学习Django,但我无法弄清为什么某些代码仅放在{}括号中,而另一些却是{%%}。有什么区别?

示例如下:

{% extends "layout.html" %}
{% block body %}

<ul>
    {% for user in users %}
     <li> <a href="{{ user.url }}">{{ user.username }}</a> </li>
    {% endfor %}
</ul>

{% endblock %}

2 个答案:

答案 0 :(得分:0)

if (!isset($smarty->registered_plugins['modifier']['escape'])) { smartyRegisterFunction($smarty, "modifier", "escape", "escapePTS"); } 块执行一条语句,而{%...%}块对一个表达式求值,并输出求值的返回值。

答案 1 :(得分:0)

请阅读文档说明,内容非常清楚,并带有各种示例代码。 Jinja documentation