What IS Flask
Short introduction to Flask
Flask is a lightweight WSGI web application framework. It is designed to make getting started quick and easy, with the ability to scale up to complex applications. Classified as a microframework, Flask is written in Python and it does not require particular tools or libraries. It has no database abstraction layer, form validation, or any other components where pre-existing third-party libraries provide common functions.
Compared to his older brother Django, Flask provides a lightweight codebase and more freedom to the developer. This might be a good thing because you have more freedom in terms of app design and structure but at the same time, this freedom might inject problems when your application becomes complex.
Being a Python framework, Flask requires Python to run and expose his magic. Flask is compatible with Python2, Python3 (the recommended version).
To get started working with Python3, you’ll need to have access to the Python interpreter (the console, and related tools and libraries). We can accomplish this in several ways:
- Use a package manager like yum, apt on Linux systems
- Homebrew for MacOS users.
- Build Python from sources, a method used by super-geeks.
To install Python on our windows workstation, a few simple steps should be followed:
- Select the installer that matches the OS (32b or 64b)
- Execute the installer (using the default options, should be enough in most of the cases)
- Test the installation by typing
python --versionin a terminal
There is a very good chance your Linux distribution has Python installed already, but it probably won’t be the latest version, and it may be Python 2 instead of Python3. To check the installed versions, just type:
$ python --version
$ python3 --version
To install, you should first update your system with the
$ sudo yum install python36u
$ sudo yum install python36u-pip
Other useful links
To install Flask, we can use
PIP, the official Python package manager:
$ pip install Flask
During Flask installation, other modules will be installed under-the-hood:
To code a super simple app with Flask we need to create a new file
hello.pyand write a few lines of code:
from flask import Flask
app = Flask(__name__)
return 'Hello, from Flask!'
Above lines, saved in
Flaskis imported and become ready to be used
appis an object constructed by
appobject inherit all Flask magic
decoratorthat define a default route for our app
- When the browser access our app, the message
Hello, from Flask!will be displayed.
How to start the app
To run the application you can either use the flask command or python’s
-mswitch with Flask. Before starting the app, we should export the
$ # Set the FLASK_APP environment variable
$ export FLASK_APP=run.py # Unix/Mac)
$ set FLASK_APP=run.py # Windows
$ $env:FLASK_APP = ".\run.py" # Powershell
To effectively start the app, please type:
$ flask run # this will execute hello.py file
By default, Flask will start the app on port 5000 -
http://localhost:5000. By accessing this local address, we should see the message
Hello, from Flask!
With this minimal example in mind, we can extend this app with more features. A possible list might be:
- add more routes
- add a database to save relevant information
- add static assets to use a Bootstrap style, for instance
- implement an authentication system
- UI Kit: Black Dashboard (Free version) provided by Creative-Tim
- Modular design with Blueprints
- SQLite, PostgreSQL, SQLAlchemy ORM
- Alembic (DB schema migrations)
- Session-Based authentication (via **flask_login
Flask Dashboard - Black Design, dashboard screen.