Flask模板和静态文件(二)

2023-05-05 16:13:46 浏览数 (1)

模板继承

在实际应用中,我们通常会使用多个页面,它们之间存在共同的布局和样式。为了避免重复编写相同的代码,我们可以使用模板继承来减少工作量。在Jinja2模板语言中,我们可以使用'block'和'extends'语句来实现模板继承。

'block'语句用于定义一个块,可以在子模板中被覆盖。下面是一个使用'block'语句的示例:

代码语言:javascript复制
<!-- base.html -->
<!DOCTYPE html>
<html>
<head>
    <title>{% block title %}{% endblock %}</title>
</head>
<body>
    <div class="container">
        {% block content %}{% endblock %}
    </div>
</body>
</html>

在上面的示例中,我们定义了两个块,一个是'title'块,用于定义HTML页面的标题;另一个是'content'块,用于定义HTML页面的内容。这些块中的内容可以在子模板中被覆盖。

在子模板中,我们可以使用'extends'语句来继承父模板。下面是一个使用'extends'语句的示例:

代码语言:javascript复制
<!-- index.html -->
{% extends 'base.html' %}

{% block title %}
    Hello World
{% endblock %}

{% block content %}
    <h1>Hello, {{ name }}!</h1>
{% endblock %}

在上面的示例中,我们使用'extends'语句来继承父模板'base.html',并覆盖了'title'和'content'块。这样,我们就可以减少代码重复,更加方便地管理和维护模板文件。

0 人点赞