📜  Flask 中的模板继承

📅  最后修改于: 2022-05-13 01:55:12.240000             🧑  作者: Mango

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 文件等等。