Introduction to Flask

Python 10 min min read Updated: Mar 09, 2026 Intermediate
Introduction to Flask
Intermediate Topic 1 of 10

Introduction to Flask

Flask is a lightweight and powerful web framework for Python used to build web applications quickly and efficiently. It is known as a micro web framework because it provides the essential tools required to develop web applications without including unnecessary features.

Flask is widely used for developing APIs, web applications, microservices, and backend services. Its simplicity and flexibility make it popular among beginners as well as professional developers.

What is Flask?

Flask is an open-source Python web framework developed by Armin Ronacher. It is built on top of two core components:

  • Werkzeug – A WSGI utility library for handling HTTP requests and responses
  • Jinja2 – A powerful template engine used for rendering HTML pages

Flask allows developers to create web applications using Python while maintaining complete control over application structure.

Features of Flask

  • Lightweight and minimal framework
  • Easy to learn and use
  • Built-in development server
  • Flexible project structure
  • Supports RESTful APIs
  • Extensible through plugins and extensions

Installing Flask

Flask can be installed using the Python package manager pip.

bash pip install flask

Once installed, Flask can be imported into a Python application.

Creating a Simple Flask Application

The following example demonstrates how to create a basic Flask application.

python from flask import Flask app = Flask(__name__) @app.route("/") def home(): return "Welcome to Flask!" if __name__ == "__main__": app.run(debug=True)

This program creates a simple web server that displays a message when the root URL is accessed.

Understanding the Code

  • Flask(__name__) creates a Flask application instance.
  • @app.route("/") defines a URL route.
  • home() is the function executed when the route is accessed.
  • app.run() starts the development server.

Running the Flask Application

Save the file as app.py and run the following command:

bash python app.py

Open the browser and visit:

http://127.0.0.1:5000

You will see the message displayed by the Flask application.

Flask Routing

Routing allows different URLs to execute different functions.

python @app.route("/about") def about(): return "This is the About Page"

Now visiting /about will display the About page.

Using HTML Templates

Flask uses the Jinja2 template engine to render HTML pages.

python from flask import render_template @app.route("/") def home(): return render_template("index.html")

The HTML file should be placed inside a templates folder.

Project Structure

A typical Flask project structure looks like this:

flask_app/
│
├── app.py
├── templates/
│   └── index.html
├── static/
│   ├── css/
│   └── js/

The templates folder stores HTML templates, while the static folder stores CSS, JavaScript, and images.

Real-World Applications of Flask

Flask is widely used for building:

  • REST APIs
  • Microservices
  • Machine learning model APIs
  • Backend services for web applications
  • Data dashboards

Advantages of Flask

  • Minimalistic and lightweight
  • Highly flexible
  • Large ecosystem of extensions
  • Easy integration with databases and APIs

Conclusion

Flask is a powerful yet simple web framework that allows developers to build web applications quickly using Python. Its lightweight design and flexibility make it suitable for small projects, APIs, and large-scale backend systems.

Understanding Flask is an important step for Python developers who want to build web applications and RESTful APIs.

In the next tutorial, we will explore Flask Routing & URL Handling and learn how to manage dynamic URLs in Flask applications.

Get Newsletter

Subscibe to our newsletter and we will notify you about the newest updates on Edugators