Full Web Apps with FastAPI

7h 12m 4s
English
Paid

Course description

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.

Read more about the course

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.

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

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 117 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online Full Web Apps with FastAPI

0:00
/
#1: 01-welcome-apis-or-webapps

All Course Lessons (117)

#Lesson TitleDurationAccess
1
01-welcome-apis-or-webapps Demo
03:02
2
02-fastapi-compared
03:01
3
03-big-ideas-covered-in-the-course
03:18
4
04-student-expectations
00:59
5
05-what-are-we-going-to-build
01:15
6
06-your-instructor-michael-kennedy
00:40
7
07-get-the-full-story-on-fastapi
00:37
8
01-have-python
03:10
9
02-editor
02:32
10
03-git-the-source-code
01:15
11
01-chapter-intro
01:43
12
02-creating-the-python-project
04:10
13
03-basic-fastapi-app
05:14
14
04-ready-for-production
02:32
15
01-template-intro
01:14
16
02-rendering-basic-html
04:08
17
03-template-languages-compared
01:30
18
04-template-languages-a-comparison
06:23
19
05-rendering-basic-html-template
06:28
20
06-organizing-view-methods
11:17
21
07-concept-shared-layout
02:25
22
08-shared-layout
06:14
23
09-static-files
03:53
24
10-real-layout
04:01
25
11-real-home-page
05:43
26
01-viewmodels-chapter-intro
01:44
27
02-view-model-pattern
03:41
28
03-adding-view-model-to-the-home-view
08:45
29
04-services-for-viewmodel
03:41
30
05-a-few-more-viewmodels-to-create
03:09
31
06-survey-the-package-details-page
01:08
32
07-adding-html-for-details
03:44
33
08-create-the-package-and-release-classes
07:58
34
09-view-models-everywhere
04:51
35
01-intro-to-chapter
00:50
36
02-a-basic-user-class
01:47
37
03-get-post-redirect
03:03
38
04-get-post-redirect-for-registration
05:36
39
05-recieving-registration-data-with-viewmodel
07:09
40
06-redirecting-after-registration
03:40
41
07-clientside-validation
03:56
42
08-logging-in-via-cookies
05:51
43
09-logging-in-via-cookies-safer
03:27
44
10-logging-out
01:24
45
11-login-basic-edition
03:12
46
01-intro-to-sqlalchemy-chapter
02:15
47
02-need-to-learn-sqlalchemy-see-the-appendix
02:06
48
03-which-version-of-sqlalchemy
04:06
49
04-sqlalchemy-session-setup
09:20
50
05-user-sqlalchemy-class
07:20
51
06-package-and-releases-sqlalchemy-classes
05:29
52
07-populating-the-db
04:49
53
08-home-page-queries
07:11
54
09-package-details-queries
02:54
55
10-latest-release-for-package
01:35
56
11-user-queries
07:28
57
12-storing-the-password-securely
06:47
58
01-intro-to-chapter
01:32
59
02-beta-software-see-revisions-doc
01:45
60
03-async-for-scalability-sync-version
04:52
61
04-async-for-scalability-async-version
01:42
62
05-updating-the-db-session-for-async
03:43
63
06-user-service-async-queries
07:47
64
07-find-user-by
04:25
65
08-async-create-account
02:04
66
09-async-login-user
03:42
67
10-the-remaining-db-queries
07:40
68
01-deployment-extra-intro
02:06
69
02-beware-of-the-docs
04:29
70
02-surveying-some-hosting-options
05:50
71
03-create-a-server-at-digital-ocean
03:51
72
04-connecting-to-and-patching-our-server
02:04
73
05-server-topology-with-gunicorn
03:18
74
06-adding-ohmyzsh
01:11
75
07-preparing-to-run-fastapi
03:37
76
08-getting-the-source
04:16
77
09-venv-always
01:13
78
10-gunicorn-as-systemd-unit
04:13
79
11-installing-and-running-nginx
03:30
80
12-adding-ssl-for-https
02:05
81
01-conclusion
01:13
82
02-our-first-site-a-minimal-website
02:23
83
03-template-languages
02:00
84
04-viewmodel-pattern
02:17
85
05-get-post-redirect-pattern
01:56
86
06-sqlalchemy-models
02:00
87
07-async-await
02:11
88
08-deployment
02:01
89
09-thanks-and-bye
00:26
90
01-introducing-sqlalchemy
04:07
91
02-who-uses-sqlalchemy
01:35
92
03-architectue
02:14
93
04-demo-the-db-model
03:11
94
05-modeling-packages
08:31
95
06-sqlalchemy-base-class
01:52
96
07-database-connection
06:01
97
08-creating-the-tables
06:27
98
09-indexes
05:01
99
10-the-other-tables
04:25
100
11-relationships
07:17
101
12-modeling-concepts
04:15
102
01-creating-the-basic-insert-script
02:19
103
02-connecting-to-the-db-again
01:36
104
03-setting-package-values
01:34
105
04-saving-the-package-to-the-db
03:37
106
05-running-the-inserts
02:35
107
06-adding-types-to-the-session-factory
01:21
108
07-inserting-the-actual-data
05:09
109
08-concept-unit-of-work
02:23
110
09-querying-data-home-page
05:55
111
10-latest-releases
09:04
112
11-package-details
09:19
113
12-concept-querying-data
04:03
114
13-concept-ordering
00:45
115
14-concept-updates
00:49
116
15-concept-relationships
02:00
117
16-concept-inserting-data
00:37

Unlock unlimited learning

Get instant access to all 116 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Developing LLM App Frontends with Streamlit

Developing LLM App Frontends with Streamlit

Sources: zerotomastery.io
This byte-sized course will teach Streamlit fundamentals and how to use Streamlit to create a frontend for your LLM-powered applications.
1 hour 43 minutes 52 seconds
Django 3 - Full Stack Websites with Python Web Development

Django 3 - Full Stack Websites with Python Web Development

Sources: udemy
Have you ever wanted to create a Web application but didn't know where to start? Have you previously tried to learn Django but got fed up with incomplete YouTub
8 hours 25 minutes 19 seconds
Django for Beginners/APIs/Professionals

Django for Beginners/APIs/Professionals

Sources: leanpub
Django for Professionals Once you have learned the basics of Django there is a massive gap between building simple "toy apps" and what it takes to build a "pro
Python - The Practical Guide

Python - The Practical Guide

Sources: udemy
This is a highly practice-oriented Python course that teaches you Python from scratch - no prior programming experience required! Python is probably THE most trending programmin...
16 hours 26 minutes 30 seconds
Python and Django Full Stack Web Developer Bootcamp

Python and Django Full Stack Web Developer Bootcamp

Sources: udemy
Welcome to the Python and Django Full Stack Web Developer Bootcamp! In this course we cover everything you need to know to build a website using Python, Django,
31 hours 54 minutes 39 seconds