返回

Jinja2 语法 | Python Flask 编程 | 连载 07

后端

Jinja2 语法 | Python Flask 编程 | 连载 07

本文紧接 Python Flask 编程 | 连载 06 - Jinja2 语法

一、Jinja2 语法

  1. 模板标签

    模板标签用于在模板中插入动态内容。常用的模板标签包括:

    • {% for %} ... {% endfor %}:用于循环遍历列表或字典。
    • {% if %} ... {% endif %}:用于条件判断。
    • {% set %} ... {% endset %}:用于设置变量。
    • {% include %} ... {% endinclude %}:用于包含其他模板。
    • {% extends %} ... {% endextends %}:用于继承其他模板。
  2. 变量

    变量用于存储数据。变量的语法为 {{ variable_name }}。例如:

    {% set name = "John" %}
    <h1>{{ name }}</h1>
    

    这将输出:

    <h1>John</h1>
    
  3. 控制语句

    控制语句用于控制程序的执行流程。常用的控制语句包括:

    • {% if %} ... {% endif %}:用于条件判断。
    • {% for %} ... {% endfor %}:用于循环遍历列表或字典。
    • {% break %}:用于跳出循环。
    • {% continue %}:用于继续执行循环的下一轮。
  4. 过滤器

    过滤器用于对变量进行处理。常用的过滤器包括:

    • lower():将字符串转换为小写。
    • upper():将字符串转换为大写。
    • title():将字符串的首字母转换为大写。
    • striptags():去除字符串中的 HTML 标签。
    • truncate():截取字符串。
  5. 函数

    函数用于执行特定的操作。常用的函数包括:

    • range(start, stop, step):生成一个数字序列。
    • len(object):返回对象的长度。
    • abs(number):返回数字的绝对值。
    • min(numbers):返回数字中最小的一个。
    • max(numbers):返回数字中最大的一个。
  6. 扩展

    扩展用于扩展 Jinja2 的功能。常用的扩展包括:

    • sqlalchemy:用于与 SQLAlchemy 数据库进行交互。
    • cache:用于缓存模板。
    • i18n:用于国际化。
    • markdown:用于解析 Markdown 文本。
    • compress:用于压缩 CSS 和 JavaScript 文件。
  7. 循环

    循环用于遍历列表或字典。常用的循环语句包括:

    • {% for item in list %} ... {% endfor %}:用于遍历列表。
    • {% for key, value in dict %} ... {% endfor %}:用于遍历字典。
  8. 调试

    Jinja2 提供了强大的调试功能。您可以使用 {% debug %} ... {% enddebug %} 标签来启用调试模式。在调试模式下,您可以在模板中使用 {{ debugger() }} 来进入调试器。

  9. 模板继承

    模板继承允许您创建一个基模板,然后从该基模板创建子模板。这可以使您的模板代码更加简洁和可重用。

  10. 模板包含

模板包含允许您将一个模板包含到另一个模板中。这可以使您的模板代码更加模块化。

  1. 模板片段

模板片段允许您将一段代码存储在一个单独的文件中,然后在其他模板中使用它。这可以使您的模板代码更加可重用。

  1. 模板全局变量

模板全局变量允许您在所有模板中使用特定的变量。这可以使您的模板代码更加简洁和可重用。