2024-09-21
{{ and }} 表达式(expressions)
{% and %} 声明语句(statements)
{# and #} 注释(comments)
避免被渲染
{% raw %}
{{ 这段内容不会被Tera解析 }}
{% endraw %}
{% set name = "Tera" %}
{{ name }}
可以在html代码中加入
达成,比如
代表两个空白。
tera不会主动删除空白,需要用减号-来删除。
{%-if foo-%}...{%-endif-%}
注意:-号前后不能有空格。
tera不会渲染注释。 也可以用html注释。
{# 这是注释 #}
<!--这是html的注释-->
可以用波浪号~连接字符串、数字和变量。
{{ "Hello" ~ "world" }}
用in判断是否在列表中,返回true或false。
{% if "foo" in ["foo", "bar"] %}
foo is in the list
{% endif %}
{% if foo %}
foo is true
{% elif bar %}
bar is true
{% else %}
foo and bar are false
{% endif %}
使用and, or, not来组合条件,而不是&&, ||, !。
{% if foo and bar %}
foo and bar are true
{% endif %}
数据通常在后端传递给模板。
{% for user in users %}
{{ user.name }}
{% endfor %}
include可以引入其他html文件,相当于叠加。 文件名后面加上ignore missing,如果文件不存在,不会报错。
{% include "header.html" %}
定义一个父模版,然后在子模版通过block
继承。
<!-- 子模版 -->
{% extends "base.html" %}
{% block content %}
{{ block.super }}
<p>子模版的内容</p>
{% endblock %}
只能在模版最上面一行引入宏,否则会发生错误
{% import "macros.html" as macros %}
参考教程:B站砸松果-tera的基本语法
参考教程:B站砸松果-函数和过滤器