A basic micro-framework for Python on the web

Flask is a web framework for Python. It is notable for being a microframework, meaning that it does only the basic things needed for Python to power websites. This includes serving web pages, templating, and managing sessions. It is highly recommended for beginners learning how to use Python for the web for the first time. It was also once the framework of choice to power Bento.

Start learning with



Flask is a web framework for Python. It is a very lightweight framework, meaning it covers only the basics you need to get a web server running. It's an excellent introduction to server side development if you're familiar with Python.

Who curated this track

Jon Chan
  • Founder of Bento
  • Developer at Stack Overflow
  • Self-taught developer
What is a Web Framework?


Understanding exactly what a web framework is will be important before you write a single line of server side code. This technical overview of what a web framework is and how it works in common Python frameworks will cover HTTP requests, routing, and even templates.


Flask Installation


This is a quick tutorial on how to install Flask using the shell, pip, and virtualenv. If you don't have Flask installed yet, follow the instructions here.


Flask Quickstart


Build a basic web application using this documentation. This is one of the best written getting started guides and it should give you the basics you'll need for Flask. Go through the whole thing.


Don't know databases yet?

Some of these tutorials will mention hooking up your Flask application to a database like SQLite, Postgres, or some other database. If you aren't familiar with these technologies, don't worry, you can go learn about how these work in another track later on.

Flask Tutorial


This is a comprehensive and free course on how to build web applications with Flask and Python. A combination of videos and code examples will give you a great general overview of how to use the Python web framework.


Practical Flask
Template Designer Documentation


You had some exposure to templating with Jinja in the previous tutorials. Now go through the documentation of Jinja to learn its full power as a templating engine in Flask.


Explore Flask


This online book covers some best practices when creating a Flask application. Everything from file structure, deployment, and naming conventions is covered here.


Start this track

What you should learn next


Heroku is a platform that helps you put your web application on the Internet and manage it. It makes deploying your code extremely fast and simple, with a slew of add-ons to power your website.