explaingit

realpython/discover-flask

4,549PythonAudience · developerComplexity · 2/5Setup · easy

TLDR

Discover Flask is a free 30-part video tutorial series from Real Python that walks Python beginners through building a full web application, from a simple static site all the way to user login, databases, and deployment.

Mindmap

mindmap
  root((Discover Flask))
    What it is
      30-part video series
      Full-stack web tutorial
      Real Python course
    Topics covered
      User login and auth
      Database and migrations
      Testing and CI
      Heroku deployment
    How to use
      Watch video then check Git tag
      Code evolves across 30 parts
      Follow in order
    Best for
      Python beginners
      First web app builders
      Self-paced learners
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Follow along with 30 video lessons to build your first full-stack Python web app from scratch using Flask

USE CASE 2

Learn how to add user login and password hashing to a Python web application by studying the companion source code

USE CASE 3

Use each Git tag to check out the exact code state for a specific lesson and experiment with it

USE CASE 4

Understand how to connect a Flask app to a database, run migrations, and deploy the finished app to Heroku

Tech stack

PythonFlaskSQLAlchemyHeroku

Getting it running

Difficulty · easy Time to first run · 30min

Code is meant to be used while watching the video series, each lesson has its own Git tag so you check out the right snapshot before experimenting.

This is tutorial source code, check the repository or Real Python for specific license terms.

In plain English

Discover Flask is a free tutorial series from Real Python that teaches full-stack web development using Flask, a Python web framework. Flask is the library you use to build websites and web applications in Python. It is on the smaller and simpler end of Python web frameworks, which makes it a practical starting point for beginners, though it can scale up to handle more complex applications. The series consists of 30 video lessons, each paired with a GitHub tag so you can check out the exact code state that corresponds to that lesson. Topics build on each other progressively: early parts cover setting up a simple static site and creating a login page, while later parts go into databases, password hashing, user authentication, testing, and deploying the finished application to Heroku. The series also covers practical development tools like virtual environments, database migrations, and continuous integration. This repository holds the source code that accompanies the videos. The README notes that the code is not meant to be used until the end of the series, since it evolves incrementally across all 30 parts. Each part of the series has its own Git branch or tag, making it easy to follow along at any point. The series is aimed at Python learners who already have some basic programming familiarity and want to build their first web application. It was produced by Real Python, a well-known Python learning platform. The video playlist and companion blog posts are linked from the README.

Copy-paste prompts

Prompt 1
I am a Python beginner who wants to build my first web app. Walk me through the first few steps of the Discover Flask tutorial: setting up a virtual environment, installing Flask, and displaying a hello-world page.
Prompt 2
In part 10 of Discover Flask, how does the login system work? Explain the Flask session handling and password hashing code in plain English.
Prompt 3
I want to follow along with the Discover Flask series. How do I check out the code for a specific lesson using its Git tag, and what should I do if my code doesn't match?
Prompt 4
Show me how the database migration setup works in the Discover Flask project so I can add a new column to the users table without losing existing data.
Prompt 5
I have finished the Discover Flask series and want to deploy my app to Heroku. What files do I need to add and what commands do I run?
Open on GitHub → Explain another repo

← realpython on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.