Full Web Apps with FastAPI Course

This course is carbon neutral.

Course Summary

FastAPI has burst on to the Python web scene. In fact, the 2020 PSF developer survey shows FastAPI going from off the radar to the 3rd most popular and fastest growing framework for Python developers. People discovering FastAPI are thrilled with it's toolchain for building APIs. But they wonder if they will need to build a parallel app in Flask or Django for the HTML side of their site.

This course is here to show you that you do not need a second browser-oriented framework: FastAPI is a fantastic framework for HTML-oriented content and static content. That's what this course is all about. You'll learn to build full web apps with FastAPI, equivalent to what you can do with Flask or Django. And it's an amazing framework with even more features than those older, more established frameworks.

What students are saying

FastApi is very cool. I've just started this training, the content beat my expectations.
-- Gian

Source code and course GitHub repository

github.com/talkpython/web-applications-with-fastapi-course

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

There are not many courses out focusing on the FastAPI web framework. But even those that are around focus almost entirely on the API side of FastAPI. While that is useful and interesting, you'll need to answer the question of whether you need another web framework such as Flask or Django for the web browsers. The answer is no.

FastAPI is a truly modern framework that allows you to write web apps with dynamic HTML templates just as much as Flask. Throughout this course, you'll see how to use the various features of FastAPI along with a couple external packages to create wonderful Python web apps.

As part of the course, we well create a nearly complete clone of pypi.org in FastAPI. We'll learn how to use SQLAlchemy, HTML templates, static files, and even deploy our app to a Linux VM in the cloud.

Proceeds support the FastAPI project

Talk Python is a gold sponsor of the FastAPI project. By taking our course, you'll be helping support the improvement and sustainability of FastAPI itself.

What topics are covered

This course covers everything you need to know to develop, run, and deploy full web apps on top of FastAPI. Just some of the topics include:

  • Building a basic FastAPI application
  • Using server-side dynamic HTML templates such as Jinja2 and Chameleon
  • Centralizing look & feel as well as structural items with a layout HTML template
  • Serving static files from FastAPI (such as images and CSS files)
  • Using the view model design pattern to help with data exchange in FastAPI
  • Create HTML forms accepting user input and doing validation
  • Storing data in the SQLAlchemy ORM
  • Leveraging SQLAlchemy's new async/await capable API for scaling out
  • Deploy your FastAPI app to a Linux cloud VM

Who is this course for?

This course is for anyone who wants to use FastAPI as their primary web framework. You'll need basic Python programming experience and some familiarity with HTML and CSS.

Concepts backed by concise visuals

While exploring a topic interactively with demos and live code is very engaging, it can mean losing 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 understanding how FastAPI async and await support apply to scaling the concurrent requests for most web apps that spend their time waiting on external systems like databases.

Example: Concepts backed by concise visuals

This course is delivered in very high resolution

Example of 1440p high res video

This course is delivered in 1440p (4x the pixels as 720p). When you're watching the videos for this course, it will feel like you're sitting next to the instructor looking at their screen.

Every little detail, menu item, and icon is clear and crisp. Watch the introductory video at the top of this page to see an example.

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.

The time to act is now

FastAPI is an exciting new web framework. Having deep knowledge and fluency in it opens the door to career advancement and better tools and technologies on your current project. These have powerful knock-on effects. For example, FastAPI's great support of async and await mean you have new techniciques for working with databases and external APIs. So join this course and see how FastAPI can be used to build general web apps, not just APIs.

Course Outline: Chapters and Lectures

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

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

Talk Python's Mastodon Michael Kennedy's Mastodon