jinja——继承

 

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/extend")
def extend():
    return render_template("son.html")

if __name__ == "__main__":
    app.run('0.0.0.0', 5001, debug=True)

 

son.html

{% extend %} 标签: son.html继承layout.html

子模板没有定义的block块,就会使用父模板中的值。

<!--son.html-->
<!--继承layout.html-->
{% extends "layout.html" %}
{% block title %}Son Page{% endblock %}
<!--导入top.html模版-->
{% include "top.html" %}
{% block content %}
<h1>子模版</h1>
<button>按钮</button>
{% endblock %}

layout.html

block 标签 告诉模板引擎子模板可以覆盖模板中的这些部分

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-wvidth, initial-scale=1.0"
    <title>{% block title %}{% endblock %}</title>
</head>
<body>
    <div id="content">{% block content %}{% endblock %}</div>
    <div id="footer">
    {% block footer %} &copy; Copyright 2023 by
    <a href="https://ceshiren.com">测试人社区</a>.{%endblock %}
    </div>
</body>
</html>
<script type="text/javascript"></script>

top.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <a>首页</a>
  <a>关于</a>

</body>
</html>

结果:

image

 

posted @ 2025-08-21 15:19  Alieen617  阅读(6)  评论(0)    收藏  举报