返回
Jinja2 语法 | Python Flask 编程 | 连载 07
后端
2024-02-22 14:44:06
Jinja2 语法 | Python Flask 编程 | 连载 07
本文紧接 Python Flask 编程 | 连载 06 - Jinja2 语法。
一、Jinja2 语法
-
模板标签
模板标签用于在模板中插入动态内容。常用的模板标签包括:
{% for %} ... {% endfor %}
:用于循环遍历列表或字典。{% if %} ... {% endif %}
:用于条件判断。{% set %} ... {% endset %}
:用于设置变量。{% include %} ... {% endinclude %}
:用于包含其他模板。{% extends %} ... {% endextends %}
:用于继承其他模板。
-
变量
变量用于存储数据。变量的语法为
{{ variable_name }}
。例如:{% set name = "John" %} <h1>{{ name }}</h1>
这将输出:
<h1>John</h1>
-
控制语句
控制语句用于控制程序的执行流程。常用的控制语句包括:
{% if %} ... {% endif %}
:用于条件判断。{% for %} ... {% endfor %}
:用于循环遍历列表或字典。{% break %}
:用于跳出循环。{% continue %}
:用于继续执行循环的下一轮。
-
过滤器
过滤器用于对变量进行处理。常用的过滤器包括:
lower()
:将字符串转换为小写。upper()
:将字符串转换为大写。title()
:将字符串的首字母转换为大写。striptags()
:去除字符串中的 HTML 标签。truncate()
:截取字符串。
-
函数
函数用于执行特定的操作。常用的函数包括:
range(start, stop, step)
:生成一个数字序列。len(object)
:返回对象的长度。abs(number)
:返回数字的绝对值。min(numbers)
:返回数字中最小的一个。max(numbers)
:返回数字中最大的一个。
-
扩展
扩展用于扩展 Jinja2 的功能。常用的扩展包括:
sqlalchemy
:用于与 SQLAlchemy 数据库进行交互。cache
:用于缓存模板。i18n
:用于国际化。markdown
:用于解析 Markdown 文本。compress
:用于压缩 CSS 和 JavaScript 文件。
-
循环
循环用于遍历列表或字典。常用的循环语句包括:
{% for item in list %} ... {% endfor %}
:用于遍历列表。{% for key, value in dict %} ... {% endfor %}
:用于遍历字典。
-
调试
Jinja2 提供了强大的调试功能。您可以使用
{% debug %} ... {% enddebug %}
标签来启用调试模式。在调试模式下,您可以在模板中使用{{ debugger() }}
来进入调试器。 -
模板继承
模板继承允许您创建一个基模板,然后从该基模板创建子模板。这可以使您的模板代码更加简洁和可重用。
-
模板包含
模板包含允许您将一个模板包含到另一个模板中。这可以使您的模板代码更加模块化。
- 模板片段
模板片段允许您将一段代码存储在一个单独的文件中,然后在其他模板中使用它。这可以使您的模板代码更加可重用。
- 模板全局变量
模板全局变量允许您在所有模板中使用特定的变量。这可以使您的模板代码更加简洁和可重用。