Flask – Include another template in a template
In a flask application, we can have multiple templates. And sometimes we may need to include one template in another template, like including header and footer templates in another templates.
include keyboard is used to include a template in another template in Flask, as shown in the following expression.
{% include "another-template.html" %}
In this tutorial, we will learn how to include one template in another template with an example flask application.
Example
In this example, we will build a flask application where we have following four templates.
- header.html
- footer.html
- page-1.html
- page-2.html
Using include keyword, we include header and footer templates in page-1 and page-2 templates.
Project Structure
The following is the structure of our flask application.

main.py
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route("/page-1")
def page_1():
return render_template("page-1.html")
@app.route("/page-2")
def page_2():
return render_template("page-2.html")
if __name__ == "__main__":
app.run(host="127.0.0.1", port=8080, debug=True)
header.html
<!DOCTYPE html>
<html>
<style>
header h1 {
color: darkgrey;
}
h1 {
color: red;
}
h2 {
color: orange;
}
p {
color:darkgray;
}
</style>
<body>
<header>
<h1>Flask Application</h1>
<hr>
</header>
footer.html
</body>
</html>
page-1.html
{% include "header.html" %}
<h1>Page 1</h1>
<h2>About</h2>
<p>Welcome to sample flask application.</p>
{% include "footer.html" %}
page-2.html
{% include "header.html" %}
<h1>Page 2</h1>
<h2>Another Page</h2>
<p>This is another page in this flask application.</p>
{% include "footer.html" %}
Terminal
Open terminal at the root of the application, and run the Python file main.py.

Now, open a browser of your choice and hit the URL http://127.0.0.1:8080/page-1.

Now, you may hit the URL http://127.0.0.1:8080/page-2 in a browser.

We have used header.html and footer.html templates in page-1.html and page-2.html templates.
Summary
In this Python Flask Tutorial, we learned how to include another template in a template, with the help of an example flask application.