编辑
2026-04-01
undefined
00

目录

注释
变量替换
控制流语句
if语句
for语句
过滤器
结构标签

注释

{# 注释 #}是注释。

变量替换

使用双花括号{{ }}来表示变量替换。例如,{{ name }}会被实际的值替换。

控制流语句

使用{% %}来表示控制流语句,如条件判断和循环迭代。

if语句

{% if age>=18 %} <p>成年</p> {% elif age>=7 %} <p>上学</p> {% else %} <p>小孩</p> {% endif %}

for语句

{% for like in likes %} <p>{{like}}:index-{{loop.index}} index0-{{loop.index0}} revindex-{{loop.revindex}} revindex0-{{loop.revindex0}}</p> {% endfor %}

配合if语句:

{% for like in likes %} {% if loop.first %} <p style="color: red">{{like}}:index-{{loop.index}} index0-{{loop.index0}} revindex-{{loop.revindex}} revindex0-{{loop.revindex0}}</p> {% elif loop.last %} <p style="color: blue">{{like}}:index-{{loop.index}} index0-{{loop.index0}} revindex-{{loop.revindex}} revindex0-{{loop.revindex0}}</p> {% else %} <p>{{like}}:index-{{loop.index}} index0-{{loop.index0}} revindex-{{loop.revindex}} revindex0-{{loop.revindex0}}</p> {% endif %} {% endfor %}

过滤器

模板过滤器相当于函数,把当前的变量传入过滤器,过滤器根据自己的功能对变量进行相应的处理,再返回对应的值。语法:{{ 变量|过滤器|过滤器... }}

官方文档:https://jinja.palletsprojects.com/en/3.0.x/templates/#builtin-filters

结构标签

父模板挖坑,子模板填坑。 base.html:

{% block blockname %} {% endblock %}

child.html:

{# 继承父模板 #} {% extends "base.html" %} {% block blockname %} <p>Flask</p> {% endblock %}

child2.html:

{% extends "child.html" %} {% block blockname %} {{ super() }} <p>Python</p> {% endblock %}

super()继承后保留父模板块中的内容。

include将其他模板包含进来:{% include "xxx.html" %}。

类似函数:

{# 宏定义 #} {% macro func(name, age) %} <p>姓名:{{name}},年龄:{{age}}</p> {% endmacro %} {# 调用宏 #} {{ func('张三',18) }}

宏调用也可以用导入:{% from "xxx" import xxx %}。

本文作者:a

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!