Flask 中如何使用 Jinja2 模板引擎?

· 约 4 分钟读完 · 第 42 / 136 章

推荐答案

在 Flask 中使用 Jinja2 模板引擎非常简单。以下是一个基本的示例:

在这个示例中,render_template 函数用于渲染 index.html 模板,并将 title 和 content 变量传递给模板。

本题详细解读

1. Jinja2 模板引擎简介

Jinja2 是一个现代的、设计友好的 Python 模板引擎,广泛用于 Flask 框架中。它允许开发者将 Python 代码与 HTML 模板分离,从而实现动态内容的生成。

2. 模板文件结构

在 Flask 项目中,模板文件通常存放在 templates 目录下。例如,index.html 文件可以放在 templates 目录中。

在这个模板中,{{ title }} 和 {{ content }} 是 Jinja2 的变量占位符,它们会被传递给模板的变量值替换。

3. 渲染模板

在 Flask 中,使用 render_template 函数来渲染模板。该函数接受模板文件名作为第一个参数,并可以传递任意数量的关键字参数作为模板变量。

4. 模板继承

Jinja2 支持模板继承,允许你创建一个基础模板,并在其他模板中扩展它。例如,创建一个 base.html 文件:

然后在 index.html 中扩展 base.html:

5. 控制结构

Jinja2 还支持控制结构,如 if 语句和 for 循环,可以在模板中进行条件判断和迭代操作。

通过这些功能,Jinja2 提供了强大的模板渲染能力,使得 Flask 应用能够轻松生成动态 HTML 内容。