Building Data-Driven Web Apps with Flask and SQLAlchemy Course

Course Summary

One of the areas Python really shines is in building clean and powerful web applications. Once you know the language basics, this course will teach you everything you need to build data-driven, modern web applications in Python with the Flask web framework.

What students are saying

In these first 13 minutes I learned so many techniques and best practices.

Quite a few times I found myself cursing that it had taken me weeks to learn what Michael was demonstrating in meer minutes.

The beauty of the course however lies in the fact that you're not spoon fed everything. You're expected to have prior knowledge of concepts such as Python Classes, data structures and so on.
-- Julian Sequeira (from @pybites)

Source code and course GitHub repository

github.com/talkpython/data-driven-web-apps-with-flask

Flask or Pyramid Web Framework?

This course is available in multiple web frameworks. Of course, this page is for the Flask version. It's also available from us in the Pyramid web framework.

What's this course about and how is it different?

Full stack web development is exactly what you need to build true data-driven web applications in Python. Yet these courses can be confusing and overwhelming due to the many technologies involved (Python, SQL, CSS, etc).

We have taken great care to build a course that is just real enough to give you what you need without anything extra. We build a replica of a popular web application, Python's own packaging index over at pypi.org.

While building our replica PyPI, you will learn:

  • Learn about the different major Python web frameworks
  • Create a Flask-based website from scratch using the CLI and PyCharm
  • Work with dynamic HTML templates
  • Map URLs to view methods using routing
  • Make advanced use of routing to build a full custom CMS in 8 minutes
  • Take advantage of bootstrap to build well designed sites
  • Map data to and from Python using classes with SQLAlchemy
  • Learn how Alembic can help our database evolve as our models change
  • Accept user input with HTML forms
  • Add client and server-side validation
  • Overcome the special challenges of testing web apps (databases, frameworks, etc)
  • Deploy our web application to a fresh Linux machine (virtual, cloud-based)
  • Leverage our design patterns to convert our app to another data model (MongoDB edition)

  • View the full course outline.

Who is this course for?

This course is for anyone who wants to create Python-based web applications using the Flask web framework. In fact, you'll learn a lot of web skills that will translate across frameworks as well.

We do assume that you have basic Python language skills and can read HTML and CSS. But most advanced uses of the language or CSS are explained in the course.

Follow along with your own version

Students get the most out of our courses when they work on projects closely related to the materials they are learning or even follow along by watching the videos and then recreating that code themselves chapter by chapter.

We have organized the source code included with the course to make following along starting from any chapter a breeze. In the screenshot below, you'll see two directories:

ch09_sqlalchemy/final
ch09_sqlalchemy/start

The start version is exactly what we started with on the videos for this chapter (chapter 9). If you want to follow along with chapter 9, just copy that somewhere and get started. Similarly, the final version is our final result exactly as it was on video. You can even diff the two directories to see the changes we made or against your work to see how we compare.

Here is the starter and final code from the SQLAlchemy database chapter.

Hands on exercises

Concepts backed by concise visuals

While exploring a topic interactively with demos and live code is very engaging, it can lose the forest for the trees. That's why when we hit a new topic, we stop and discuss it with concise and clear visuals.

Here's an example of concepts reviewing the basic idea of routing URLs to view methods and how Flask selects from the various URL routes given a single URL.

Example: Concepts backed by concise visuals

Follow along with subtitles and transcripts

Each course comes with subtitles and full transcripts. The transcripts are available as a separate searchable page for each lecture. They also are available in course-wide search results to help you find just the right lecture.

Each course has subtitles available in the video player.

Who am I? Why should you take my course?

Who is Michael Kennedy?

My name is Michael, nice to meet you. ;) There are a couple of reasons I'm especially qualified to teach you Python.

 1. I'm the host of the #1 podcast on Python called Talk Python To Me. Over there, I've interviewed many of the leaders and creators in the Python community. I bring that perspective to all the courses I create.

 2. I've been a professional software trainer for over 10 years. I have taught literally thousands of professional developers in hundreds of courses throughout the world.

 3. Students have loved my courses. Here are just a few quotes from past students of mine.

"Michael is super knowledgeable, loves his craft, and he conveys it all well. I would highly recommend his training class anytime." - Robert F.
"Michael is simply an outstanding instructor." - Kevin R.
"Michael was an encyclopedia for the deep inner workings of Python. Very impressive." - Neal L.

Free office hours keep you from getting stuck

One of the challenges of self-paced online learning is getting stuck. It can be hard to get the help you need to get unstuck.

That's why at Talk Python Training, we offer live, online office hours. You drop in and join a group of fellow students to chat about your course progress and see solutions via screen sharing.

Just visit your account page to see the upcoming office hour schedule.

Is this course based on Python 3 or Python 2?

This course is based upon Python 3. Python 2 is officially unsupported as of January 1st, 2020 and we believe that it would be ill-advised to teach or learn Python 2. This course is, and has always been, built around Python 3.

The time to act is now

This data-driven web apps with Python and Flask course is just what you need to build that fast, custom web application that can help you create your next great idea or just solve a business problem by deploying it behind your firewall.

Course Outline: Chapters and Lectures

25:57
0:44
1:35
3:16
1:34
2:27
5:16
6:04
0:51
2:05
2:05
6:10
2:40
0:58
0:30
0:36
1:26
15:41
2:38
3:31
3:00
1:16
1:49
2:28
0:59
20:14
2:57
5:55
3:00
3:47
1:25
3:10
44:11
1:24
2:30
3:42
8:10
1:42
3:20
1:12
5:20
5:08
2:02
2:28
1:34
3:37
2:02
33:08
3:52
1:23
9:12
1:21
3:42
2:59
1:28
7:54
1:17
38:04
0:53
2:02
4:50
1:00
2:53
1:12
1:35
3:25
1:43
1:15
4:47
3:31
1:30
1:43
5:45
28:42
3:14
5:12
5:22
3:20
3:48
3:49
3:57
54:50
4:07
1:35
2:14
3:10
8:31
1:51
6:01
6:26
5:00
4:24
7:16
4:15
52:56
2:18
1:36
1:33
3:36
2:34
1:20
5:09
2:22
5:55
9:03
9:18
4:03
0:44
0:49
1:59
0:37
27:46
3:47
2:32
9:16
5:28
1:44
3:09
1:50
49:19
3:14
2:36
3:13
1:43
4:45
2:43
5:08
6:59
1:08
3:20
7:16
2:54
4:20
33:30
2:50
4:15
3:18
10:24
1:40
1:23
1:44
1:36
4:54
1:26
53:04
2:09
2:32
3:08
2:59
3:45
5:49
3:26
2:25
1:34
5:27
3:47
5:39
2:28
2:10
1:02
4:44
40:10
3:45
5:15
3:12
7:47
1:44
2:51
3:28
2:03
3:29
3:57
1:20
1:19
42:08
1:42
0:55
1:14
4:55
3:41
3:24
1:44
6:00
2:26
3:21
4:51
3:31
4:24
15:12
0:41
1:00
1:43
0:57
1:35
0:44
1:09
0:38
1:16
1:29
1:03
1:18
0:54
0:23
0:22
Buy for $53 + tax Bundle and save 85% Team Gift

Questions? Send us an email: contact@talkpython.fm

Talk Python's Mastodon Michael Kennedy's Mastodon