Flask 中的模板继承
模板继承是Jinja模板的一个很好的特性。 Jinja 是Python编程语言的 Web 模板引擎。我们已经看到一个网站的网页包含相同的页脚、导航栏等。所以我们没有在所有网页中单独制作相同的页脚和导航栏,而是利用模板继承,这允许我们创建所有网页中相同的部分。 (例如页脚,导航栏)只需一次,我们也不需要一次又一次地编写html,head,title标签。让我们在 base.html 文件中定义网页的通用结构。首先,我们将使用 main.py 文件中的烧瓶渲染模板。
先决条件——Flask——(创建第一个简单的应用程序)
第 1 步 -创建一个烧瓶应用程序来呈现主模板
Python3
from flask import Flask, render_template
# Setting up the application
app = Flask(__name__)
# making route
@app.route('/')
def home():
return render_template('home.html')
# running application
if __name__ == '__main__':
app.run(debug=True)
HTML
Template Inheritance
This heading is common in all webpages
{% block content %}
{% endblock %}
HTML
{%extends "base.html" %}
{%block content%}
Welcome to Home
{% endblock %}
第 2 步- 创建 HTML 文件
现在我们将设置我们的 base.html 文件,其中我们有一个在所有网页中通用的标题。
句法 :
{% block content %}
{% endblock %}
这些行上面和下面的代码对于每个网页都是相同的,它们之间的代码将用于特定的网页。
HTML
Template Inheritance
This heading is common in all webpages
{% block content %}
{% endblock %}
现在我们将设置我们的 home.html 文件,我们将从“base.html”文件中继承模板,并编写一些代码
主页也。
句法 :
{% extends "base.html" %}
{% block content %}
write code here for home page only
{% endblock %}
HTML
{%extends "base.html" %}
{%block content%}
Welcome to Home
{% endblock %}
运行你的 main.py 文件。
输出 -
下面是输出。
本文只是一个简单的例子。我们还可以在 base.html 文件中添加导航栏、页脚等,并且可以继承到 home.html 文件等等。