Menu Close

Rendering Flask Templates

Flask Template

In this flask guide, we will give you a complete package of using flask templates in flask-based applications. In the previous tutorials, we are using a simple string to show the result but here we will render a flask template ( HTML ) as the result and send data to the HTML file.

Note:- To understand this flask script code, you should have basic knowledge of Python programming.
You can follow our Python programming tutorial for a better understanding.

Flask Templates

To render the Python flask template in the flask application, use the render_template() method. You can provide the name of the template and the variable which you want to pass to the template.

You can pass a variable as a keyword argument to the flask template. Flask will look for the template in the templates folder, so firstly you have to create a templates folder in the working directory and place all the HTML files inside that templates folder.

Example:

Let’s see how to render HTML template in the flask application.

templates/users.html


<h1> User Information.</h1>
<ul>
<li> Name: 	{{users.name}}</li>
<li> Email:	{{users.email}}</li>
<li> Age: 	{{users.age}}</li>
<li> Occupation: {{users.occupation}}</li>
</ul>

main.py


from flask import Flask, render_template

#Create the object of the Flask class.
app= Flask(__name__)

@app.route("/users")
def Home():
    users = {"name": "John", "email": "[email protected]", "age": 22, "occupation": "Software Developer"}
    return render_template("users.html", users=users)

if __name__ == '__main__':
    app.run(debug=True)

When you execute the above flask script and navigate the http://127.0.0.1:5000/users address, you will get the following output:

Flask Template

Use loop in flask template

Flask supports the Jinja2 template engine, here will use for the loop to show the data.

main.py


from flask import Flask, render_template

#Create the object of the Flask class.
app= Flask(__name__)

@app.route("/user-date")
def Home():
    users = {"name": "John", "email": "[email protected]", "age": 22, "occupation": "Software Developer"}
    return render_template("users.html", users=users)

if __name__ == '__main__':
    app.run(debug=True)

templates/users.html


<ul>
{% if users %}
<h1> User Information.</h1>
{% for key, value in users.items() %}
<li>{{key}}:- {{value}}</li>
{% endfor %}
{% else %}
<h1> User Information does not exist.</h1>
{% endif %}
</ul>

When you execute the above flask script and navigate the http://127.0.0.1:5000/user-date address, you will the below output.

Flask Template

Conclusion

Here, we have seen all about the Python flask template with a suitable example.render_template() method is the best method for rendering the template and sending data to the template as a keyword argument.
If you want to build a flask application, Then you can’t ignore the HTML file.

The most popular thing about the flask is the provides a Jinja2 template engine that is used to generate dynamic content.

If you like this flask template article, please share and keep visiting for further flask tutorials.

Python Flask Tutorials


Flask HTTP Methods
Flask Request Object

Related Posts