Flask 中如何使用模板?

推荐答案

在 Flask 中使用模板通常涉及以下步骤:

  1. 创建模板文件夹:在项目根目录下创建一个名为 templates 的文件夹,用于存放 HTML 模板文件。

  2. 渲染模板:在视图函数中使用 render_template 函数来渲染模板并返回给客户端。

  3. 传递变量:可以通过 render_template 函数的参数将变量传递给模板。

  4. 模板继承:使用 Jinja2 模板引擎的继承功能,创建基础模板并在子模板中扩展。

示例代码:

-- -------------------- ---- -------
---- ----- ------ ------ ---------------

--- - ---------------

---------------
--- --------
    ---- - ------------ -------
    ------ ----------------------------- ------------- ----------

-- -------- -- -----------
    -------------------

templates/index.html 文件中:

-- -------------------- ---- -------
--------- -----
----- ----------
------
    ----- ----------------
    --------- ----- ----------
-------
------
    ---------- -- ------------- --------
-------
-------

本题详细解读

1. 模板文件夹

Flask 默认会在项目根目录下寻找名为 templates 的文件夹来存放模板文件。你可以通过 template_folder 参数指定其他文件夹路径,但通常不建议这样做。

2. 渲染模板

render_template 是 Flask 提供的一个函数,用于渲染模板并生成 HTML 响应。它接受模板文件名作为第一个参数,并可以传递任意数量的关键字参数作为模板变量。

3. 传递变量

在视图函数中,你可以通过 render_template 函数的参数将变量传递给模板。这些变量可以在模板中使用 Jinja2 语法进行渲染。

4. 模板继承

Jinja2 模板引擎支持模板继承,允许你创建一个基础模板(如 base.html),并在子模板中扩展它。这样可以避免重复代码,提高代码的可维护性。

示例基础模板 base.html

-- -------------------- ---- -------
--------- -----
----- ----------
------
    ----- ----------------
    --------- ----- ----- ---- -------- ----------
-------
------
    --------
        ------ ------------
    ---------
    ------
        -- ----- ------- ---- -------- --
    -------
-------
-------

子模板 index.html

-- -------------------- ---- -------
-- ------- ----------- --

-- ----- ----- --
    -- ----- --
-- -------- --

-- ----- ------- --
    ---------- -- ------------- --------
-- -------- --

通过这种方式,你可以在多个页面中共享相同的 HTML 结构,同时保持内容的灵活性。

纠错
反馈