Build a real web app with Flask: routes, templates, forms, JSON, and a database behind it.
Everything you have written so far ran once and stopped. A web app does not. It sits waiting, and every time somebody opens a URL it wakes up, works out which of your functions answers that address, runs it, and sends the result back. That loop is the whole idea, and Flask is about seventy lines of your code away from it. You start with one function that answers one address, and finish with a site that has pages, a shared layout, a form people submit, an endpoint that returns JSON to other programs, and a database underneath it all. The pieces arrive in the order that keeps them explainable: routes, then the URLs that change, then templates, then the layout every page shares, then forms, then status codes, then the database, and only at the end the file structure that a growing app needs. Flask's own tutorial starts with that structure. This course earns it instead, at the point where your single file has a dozen routes in it and splitting them up is obviously the next move. What you build is Field Notes, a public log of wildlife sightings. It begins as one page saying hello, becomes a page for each species, learns to share a layout, takes submissions from a form, answers other programs in JSON, and ends up reading and writing real database rows. The final project is the last item in the Python Developer program, and it uses almost every course in it: the models from Python Databases, the tests from Python Testing, the file handling, the classes, the functions.
50 Lessons • 60 Practices • 20 Quizzes • 4 Projects · ~11h Total
Not just theory. You finish this course with real work to show.
This is the same in-browser editor every lesson uses. Edit the code, hit Run.
Run code in the browser and see the result immediately. Every lesson works this way.
Stuck? Puff explains the error and nudges you forward, without giving the answer away.
Streaks, diamonds, and certificates. Your progress saves automatically, forever.
Every completed course issues a certificate with a public verification link.
Every certificate has a public verification link employers can check.
One certificate per course. Finish a program and earn its program certificate too.
LinkedIn-ready, with a PDF you can download and attach.
Your data is in a database and nobody but you can see it. This is the part that puts it behind a URL.
You automate things that run once and print. A web app is the same Python, waiting for somebody to ask.
This is the last course in the Python Developer program, and its final project is the one you show people.
Flask Basics is free to start, no credit card needed. Some later sections are part of Pro, and finishing every section, including the certificate, needs a Pro plan.
Yes. Devpuff's Flask Basics assumes the Python Developer program up to Python Databases: functions, decorators, classes, exceptions, file handling, and SQLAlchemy models. Decorators matter most, because the very first line of Flask you write is one. If `@something` in front of a function means nothing to you yet, Python Functions covers it and takes about ten hours.
Yes. Flask 3.1.3 is downloaded and imported at the top of every item, and every line of app code you write is the same code you would write on your own machine. The one difference is what sends the requests: a browser tab cannot listen on a port, so requests come from `app.test_client()`, which is Flask's own testing interface and is what real Flask projects use in their test suites. Nothing is simulated and nothing is a stand-in.
Install Flask with `pip install flask`, put your app in a file, add `app.run(debug=True)` at the bottom, and run the file. Flask starts a development server, prints a local address, and your app answers real browsers at it. The course shows that line in section 1 and comes back to it in section 10 with what a production server does differently.
No. Section 4 teaches the handful of tags its templates use, and every piece of markup in the course is dictated. If you want to build pages that look designed rather than plain, Devpuff's HTML Basics and CSS Basics cover that properly and neither is a prerequisite here.
Flask is smaller and shows you the machinery: you write the routes, choose the database layer, and add only what you need. Django ships with an admin, an ORM, and an opinion about everything, which is faster once you know what all of it does and much harder to learn from. Learn one framework well and the second is a week. Flask is the better first one.
Field Notes, a wildlife sighting log, across four projects: a set of species pages driven by the URL, a site where every page shares one layout, a JSON endpoint other programs can read, and a capstone that puts the whole thing on top of a database with tests around it.
Yes, for this course at 100 percent. It is also the last course in the Python Developer program, so finishing it issues the program certificate too, as long as every other course in that program is complete.
How this course connects to the bigger picture, and what to explore next.
Store and query real data from Python with sqlite3 and the SQLAlchemy ORM, safely.
Write real Python in your browser: variables, strings, conditionals, loops, lists, and functions.
Model real data with Python lists, tuples, dictionaries, sets, and comprehensions.
Free to start, no credit card required. Write real code from the first lesson and keep your progress forever.
Start Learning Free