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

Python - The Practical Guide

Python - The Practical Guide

Duration 16 hours 26 minutes 30 seconds
Modern APIs with FastAPI and Python Course

Modern APIs with FastAPI and Python Course

Duration 3 hours 53 minutes 18 seconds
MongoDB with Async Python

MongoDB with Async Python

Duration 7 hours 19 minutes 54 seconds
Async Techniques and Examples in Python

Async Techniques and Examples in Python

Duration 5 hours 2 minutes 11 seconds
Python on the Backend

Python on the Backend

Duration 3 hours 51 minutes 33 seconds
Python & LeetCode | The Ultimate Interview BootCamp

Python & LeetCode | The Ultimate Interview BootCamp

Duration 8 hours 35 minutes 33 seconds
Machine Learning A-Z : Become Kaggle Master

Machine Learning A-Z : Become Kaggle Master

Duration 36 hours 23 minutes 54 seconds
#100DaysOfCode with Python course

#100DaysOfCode with Python course

Duration 17 hours 27 minutes 49 seconds
Complete Backend (API) Development with Python A-Z

Complete Backend (API) Development with Python A-Z

Duration 12 hours 35 minutes 9 seconds