Full Web Apps with FastAPI

7h 12m 4s
English
Paid
September 4, 2024

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.

More

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 Full Web Apps with FastAPI

Join premium to watch
Go to premium
# Title Duration
1 01-welcome-apis-or-webapps 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

Similar courses to Full Web Apps with FastAPI

OpenAI Assistants with OpenAI Python API

OpenAI Assistants with OpenAI Python API

Duration 4 hours 13 minutes 2 seconds
Build a Python REST API with the Django Rest Framework

Build a Python REST API with the Django Rest Framework

Duration 10 hours 8 minutes 56 seconds
Python 3: Deep Dive (Part 1 - Functional)

Python 3: Deep Dive (Part 1 - Functional)

Duration 44 hours 40 minutes 37 seconds
Developing LLM App Frontends with Streamlit

Developing LLM App Frontends with Streamlit

Duration 1 hour 43 minutes 52 seconds
Create UberEats with Python/Django and Swift 3

Create UberEats with Python/Django and Swift 3

Duration 19 hours 13 minutes 29 seconds
The Fundamentals of Programming with Python

The Fundamentals of Programming with Python

Duration 4 hours 18 minutes 50 seconds
REST APIs with Flask and Python

REST APIs with Flask and Python

Duration 11 hours 56 minutes 4 seconds