Flask Introduction

Flask is a lightweight web application framework. It is designed to make getting started quick and easy, with the ability to scale up to complex applications. Compared to Django, Flask provides a lightweight codebase and more freedom to the developer. Flask is written in Python and it does not require particular tools or libraries.

Set up

To code a Flask application we need some tools properly set up in our workstation. Here is the recommended list:

To finish this tutorial we will work with the console (aka terminal). In Windows, we can use Powershell or the corespondent xterm for Linux. The next step is to open a terminal and check the Python installation:

$ python --version
Python 3.8.4

If the above command returns an error please double check the Python installation and get back here after to follow up the next steps.

Install Flask

Flask is a Python package and we can install it with ease via a tool shipped by Python: PIP.

$ pip install Flask

Edit the code

Create a new file named hello.py in the current directory and add this code:

from flask import Flask

app = Flask(__name__)

def hello():
    return f'My first Flask APP!'

This simple code snippet ( also saved here ) does the following:

  • Import Flask, the library that we’ve installed in the previous step
  • app object is constructed by Flask. At this point, we can use all features provided by Flask
  • define a defaut route that will return a simple Hello message when someone access our application using the browser

Start the application

Flask being such a nice framework, comes with a simple server to help us check the code without being forced to install 3rd party tools. To use it and see our minimal app running in the browser, a variable must be exported in the environment that informs Flask the name of the file:

$ # Set the FLASK_APP environment variable
$ # Unix/Mac 
$ export FLASK_APP=hello.py
$ # Windows OS 
$ set FLASK_APP=hello.py
$ # Windows OS - Powershell
$ $env:FLASK_APP = ".\hello.py"

Once we have this variable we can call Flask:

$ flask run

By default Flask will start the application on address ‘localhost:5000’. If we visit the aplication in the browser, we should see the message:

My first Flask APP!

Credits: See the MIT license