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 %} © 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>
结果: