Skip to main content
CF

Web Developer Bootcamp with Flask and Python in 2022

19h 57m 43s
English
Paid

Welcome to the Web Developer Bootcamp with Flask and Python! This course is designed to teach you how to build and deploy dynamic websites using Python, Flask, MongoDB, HTML, and CSS. If you're looking to share your projects online and aspire to become a full-stack web developer, you're in the right place. You'll learn the latest and most popular technologies, including Python 3.10, Flask, HTML 5, and CSS 3. Note that we will not cover jQuery or Bootstrap, as those technologies are considered outdated.

Course Highlights

This course aims to provide a strong foundation in HTML and CSS, empowering you to become truly independent and capable of building anything you envision. You'll develop real-world projects that challenge your skills and enhance your understanding. By the end, you'll be adept at designing and coding any feature on any website.

Benefits of the Course

  • Comprehensive content developed with hundreds of hours of planning, recording, and editing
  • Lifetime access to course materials
  • Exceptional support with responses to numerous daily queries

Why Choose Flask?

Flask is a lightweight and straightforward microframework for web development in Python. It's easy to get started with, yet powerful as you delve deeper. Flask offers essential tools for building websites, including app organization, user authentication helpers, and a vast range of plugins and extensions.

What You'll Learn

The course covers the following key areas:

  • A robust foundation in HTML 5 and CSS 3
  • Effective software project planning for successful outcomes
  • Website design using Figma and similar tools
  • Professional coding with semantic HTML
  • Building backend applications with Flask and Python
  • Creating dynamic HTML websites with Flask and Jinja2
  • Advanced CSS skills including flexbox, grid, and animations
  • Data storage and retrieval using MongoDB on the cloud
  • Web application deployment options (both free and paid)
  • User authentication on Flask and Python sites
  • Learning to code like a professional software developer from an expert

JavaScript: To Learn or Not?

The course doesn't delve deeply into JavaScript because you can achieve most functionalities with HTML, CSS, and a Flask/Python backend. While learning JavaScript can add extra features later, initially learning both JavaScript and Python simultaneously may complicate the learning process.

Getting Started

If you have prior programming experience with Python or another language, you're ready to begin this course. Additionally, a comprehensive Python Refresher section is provided to bring you up to speed if needed.

About the Author: Udemy

Udemy thumbnail

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

Watch Online 171 lessons

This is a demo lesson (10:00 remaining)

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

View Pricing
0:00
/
#1: Welcome to the course!
All Course Lessons (171)
#Lesson TitleDurationAccess
1
Welcome to the course! Demo
03:27
2
Curriculum overview
02:05
3
Introduction to this section
01:02
4
Variables in Python
08:27
5
String formatting in Python
06:27
6
Getting user input
05:17
7
Writing our first Python app
03:20
8
Lists, tuples and sets
06:32
9
Advanced set operations
04:40
10
Booleans in Python
05:01
11
If statements
08:18
12
The "in" keyword in Python
02:03
13
If statements with the "in" keyword
08:19
14
Loops in Python
11:08
15
List comprehensions in Python
07:25
16
Dictionaries
08:32
17
Destructuring variables
08:29
18
Functions in Python
10:42
19
Function arguments and parameters
07:41
20
Default parameter values
03:55
21
Functions returning values
07:20
22
Lambda functions in Python
07:53
23
Dictionary comprehensions
04:02
24
Unpacking arguments
10:25
25
Unpacking keyword arguments
08:45
26
Object-Oriented Programming in Python
15:53
27
Magic methods: __str__ and __repr__
06:26
28
@classmethod and @staticmethod
14:04
29
Class inheritance
08:33
30
Class composition
06:09
31
Type hinting in Python 3.5+
05:09
32
Imports in Python
09:34
33
Relative imports in Python
08:54
34
Errors in Python
12:48
35
Custom error classes
05:05
36
First-class functions
07:53
37
Simple decorators in Python
07:13
38
The 'at' syntax for decorators
03:34
39
Decorating functions with parameters
02:25
40
Decorators with parameters
04:51
41
Mutability in Python
06:04
42
Mutable default parameters (and why they're a bad idea)
04:28
43
How do websites and the internet work?
04:51
44
Front end vs. Back end development
02:16
45
Key web technologies: HTML, CSS, and JavaScript
02:59
46
The Browser Inspector: using the developer tools
06:27
47
Elements: the basic components of HTML
03:08
48
A full example: HTML and CSS
10:53
49
Some of the most common HTML elements
05:20
50
What are HTML content categories?
05:29
51
Nesting elements in HTML
05:50
52
Starting our first HTML project
03:57
53
Which HTML elements can't be nested?
02:14
54
An overview of HTML container elements
06:15
55
A detailed look at HTML attributes
06:09
56
Adding images to our project
04:47
57
What is semantic HTML?
05:40
58
Document-level annotations in HTML
05:51
59
Completing our HTML project with document-level annotations
03:06
60
The best HTML resource: MDN
02:05
61
How to link a CSS file
04:45
62
Basic CSS selectors: targeting specific elements
08:13
63
How colours work: RGB, Hexadecimal, and HSL
05:54
64
Colours in CSS: text and background
06:40
65
Starting to write our project's CSS file
06:13
66
Inheritance in CSS
05:44
67
What properties can't be inherited?
06:40
68
The CSS Box Model
05:27
69
Overview of CSS units
03:46
70
Working with spacing in our project
04:55
71
Descendent selectors in CSS
07:11
72
What is specificity in CSS?
07:37
73
BEM: a simpler approach to CSS targeting
14:43
74
Overview of this section's project
03:30
75
From our YouTube channel: How to start a new software project
11:56
76
Step 1: becoming a user
05:51
77
Step 2: populating the backlog
05:56
78
Step 3: wireframing or rough design
02:07
79
Step 4: pixel perfect design
18:00
80
Step 5: creating the page structure
05:03
81
Step 6: coding the page structure with HTML
04:44
82
What are SVGs?
03:01
83
How to include images in our HTML site
03:07
84
Finishing the header and navigation
03:42
85
HTML forms: sending data
05:41
86
HTML forms: working with textareas
03:12
87
Creating the footer with multiple columns
03:34
88
How to style the header and menu bar
10:54
89
Setting the font family in our project
00:40
90
How to style HTML forms and inputs
07:55
91
How to style the micro blog entries
03:33
92
How to style the page footer
06:38
93
"Hello, world" with Flask
08:01
94
Using render_template to send longer HTML strings
04:36
95
What is Jinja2?
05:37
96
Jinja2 Expressions
08:21
97
Working with data structures in Jinja2
06:38
98
Conditional statements in Jinja2
05:24
99
Using loops in Jinja2
06:09
100
Setting up our Microblog project with Flask
06:41
101
Receiving form data using Flask
06:27
102
Displaying past entries in the Microblog project
04:36
103
Formatting dates correctly in our entries
03:08
104
Introduction to MongoDB
06:49
105
Accessing MongoDB with Compass and Atlas
09:14
106
Storing Microblog entries in MongoDB
06:35
107
Retrieving the Microblog entries from MongoDB
03:08
108
How to use Flask's app factory pattern
02:49
109
What is the requirements.txt file?
03:52
110
What is Heroku?
09:56
111
The end result of this section: a fully deployed app
01:27
112
Getting our app ready for Heroku
04:59
113
Deploying our app to Heroku
09:37
114
Hiding the MongoDB connection details from our code
09:37
115
Defining Jinja variables using the 'set' keyword
04:13
116
Jinja filters to call inline functions using the pipe operator
02:53
117
Jinja macros to improve reusability and remove duplication
07:32
118
Jinja inheritance using 'extends' and 'block'
07:05
119
How to use CSS style tags with inheritance
05:49
120
Handling CSS in larger apps with inheritance
05:26
121
Jinja tests using the 'is' keyword
06:45
122
The Jinja Environment and Rendering Context
05:52
123
Routing with Jinja using url_for in your templates
07:40
124
Habit tracker project overview
01:53
125
Displaying and saving habits
14:00
126
Styling the habit tracker
11:24
127
Adding date navigation
14:05
128
Styling the date navigation
07:20
129
Completing habits
15:30
130
Adding Flask blueprints
07:25
131
Using MongoDB in the habit tracker
16:19
132
Deploying our app to Heroku
08:07
133
Jinja Includes with the include keyword
13:37
134
Whitespace control in Jinja
04:30
135
Jinja escaping and unescaping
03:00
136
The call block for Jinja macros
05:16
137
Portfolio Project Overview
02:00
138
Making our Flask app for this project
05:14
139
The base template and nav bar
08:01
140
Adding an about page to our Flask app
03:17
141
Adding a contact page to our Flask app
07:19
142
Introduction to CSS Grid
12:44
143
Media queries with CSS for responsive development
04:34
144
Displaying projects in the homepage using CSS Grid
22:10
145
Creating the individual project pages
19:39
146
Error handling with Flask using app.errorhandler
04:14
147
What are cookies? What are sessions?
08:39
148
Registering users in your Flask apps
11:28
149
Logging users in with Flask
07:42
150
Password hashing (or encryption) with passlib
09:18
151
Creating a 'login required' decorator
07:05
152
Project overview and CSS variables
15:18
153
Adding a nav bar
15:22
154
Adding a footer
01:05
155
Putting the page layout together
02:57
156
How to toggle dark mode in a Flask app
09:54
157
Create a form with WTForms
07:04
158
Render a WTForm in our template
18:29
159
Receive and validate data using WTForms
14:00
160
Displaying a table of all movies
11:17
161
Creating the movie details page
10:07
162
Setting movie ratings
12:34
163
Set the last watched date
03:23
164
Create a custom WTForm Widget
07:05
165
Editing movies and pre-populating a form
07:24
166
Add user signups to a Flask app
09:47
167
Add user logins to a Flask app
09:43
168
Personalize pages based on the logged in user
08:12
169
Add user logouts to a Flask app
02:24
170
Deploy our Flask app to Heroku
08:54
171
Concurrency in Heroku with gunicorn
05:31
Unlock unlimited learning

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

Learn more about subscription

Course content

171 lessons · 19h 57m 43s
Show all 171 lessons
  1. 1 Welcome to the course! 03:27
  2. 2 Curriculum overview 02:05
  3. 3 Introduction to this section 01:02
  4. 4 Variables in Python 08:27
  5. 5 String formatting in Python 06:27
  6. 6 Getting user input 05:17
  7. 7 Writing our first Python app 03:20
  8. 8 Lists, tuples and sets 06:32
  9. 9 Advanced set operations 04:40
  10. 10 Booleans in Python 05:01
  11. 11 If statements 08:18
  12. 12 The "in" keyword in Python 02:03
  13. 13 If statements with the "in" keyword 08:19
  14. 14 Loops in Python 11:08
  15. 15 List comprehensions in Python 07:25
  16. 16 Dictionaries 08:32
  17. 17 Destructuring variables 08:29
  18. 18 Functions in Python 10:42
  19. 19 Function arguments and parameters 07:41
  20. 20 Default parameter values 03:55
  21. 21 Functions returning values 07:20
  22. 22 Lambda functions in Python 07:53
  23. 23 Dictionary comprehensions 04:02
  24. 24 Unpacking arguments 10:25
  25. 25 Unpacking keyword arguments 08:45
  26. 26 Object-Oriented Programming in Python 15:53
  27. 27 Magic methods: __str__ and __repr__ 06:26
  28. 28 @classmethod and @staticmethod 14:04
  29. 29 Class inheritance 08:33
  30. 30 Class composition 06:09
  31. 31 Type hinting in Python 3.5+ 05:09
  32. 32 Imports in Python 09:34
  33. 33 Relative imports in Python 08:54
  34. 34 Errors in Python 12:48
  35. 35 Custom error classes 05:05
  36. 36 First-class functions 07:53
  37. 37 Simple decorators in Python 07:13
  38. 38 The 'at' syntax for decorators 03:34
  39. 39 Decorating functions with parameters 02:25
  40. 40 Decorators with parameters 04:51
  41. 41 Mutability in Python 06:04
  42. 42 Mutable default parameters (and why they're a bad idea) 04:28
  43. 43 How do websites and the internet work? 04:51
  44. 44 Front end vs. Back end development 02:16
  45. 45 Key web technologies: HTML, CSS, and JavaScript 02:59
  46. 46 The Browser Inspector: using the developer tools 06:27
  47. 47 Elements: the basic components of HTML 03:08
  48. 48 A full example: HTML and CSS 10:53
  49. 49 Some of the most common HTML elements 05:20
  50. 50 What are HTML content categories? 05:29
  51. 51 Nesting elements in HTML 05:50
  52. 52 Starting our first HTML project 03:57
  53. 53 Which HTML elements can't be nested? 02:14
  54. 54 An overview of HTML container elements 06:15
  55. 55 A detailed look at HTML attributes 06:09
  56. 56 Adding images to our project 04:47
  57. 57 What is semantic HTML? 05:40
  58. 58 Document-level annotations in HTML 05:51
  59. 59 Completing our HTML project with document-level annotations 03:06
  60. 60 The best HTML resource: MDN 02:05
  61. 61 How to link a CSS file 04:45
  62. 62 Basic CSS selectors: targeting specific elements 08:13
  63. 63 How colours work: RGB, Hexadecimal, and HSL 05:54
  64. 64 Colours in CSS: text and background 06:40
  65. 65 Starting to write our project's CSS file 06:13
  66. 66 Inheritance in CSS 05:44
  67. 67 What properties can't be inherited? 06:40
  68. 68 The CSS Box Model 05:27
  69. 69 Overview of CSS units 03:46
  70. 70 Working with spacing in our project 04:55
  71. 71 Descendent selectors in CSS 07:11
  72. 72 What is specificity in CSS? 07:37
  73. 73 BEM: a simpler approach to CSS targeting 14:43
  74. 74 Overview of this section's project 03:30
  75. 75 From our YouTube channel: How to start a new software project 11:56
  76. 76 Step 1: becoming a user 05:51
  77. 77 Step 2: populating the backlog 05:56
  78. 78 Step 3: wireframing or rough design 02:07
  79. 79 Step 4: pixel perfect design 18:00
  80. 80 Step 5: creating the page structure 05:03
  81. 81 Step 6: coding the page structure with HTML 04:44
  82. 82 What are SVGs? 03:01
  83. 83 How to include images in our HTML site 03:07
  84. 84 Finishing the header and navigation 03:42
  85. 85 HTML forms: sending data 05:41
  86. 86 HTML forms: working with textareas 03:12
  87. 87 Creating the footer with multiple columns 03:34
  88. 88 How to style the header and menu bar 10:54
  89. 89 Setting the font family in our project 00:40
  90. 90 How to style HTML forms and inputs 07:55
  91. 91 How to style the micro blog entries 03:33
  92. 92 How to style the page footer 06:38
  93. 93 "Hello, world" with Flask 08:01
  94. 94 Using render_template to send longer HTML strings 04:36
  95. 95 What is Jinja2? 05:37
  96. 96 Jinja2 Expressions 08:21
  97. 97 Working with data structures in Jinja2 06:38
  98. 98 Conditional statements in Jinja2 05:24
  99. 99 Using loops in Jinja2 06:09
  100. 100 Setting up our Microblog project with Flask 06:41
  101. 101 Receiving form data using Flask 06:27
  102. 102 Displaying past entries in the Microblog project 04:36
  103. 103 Formatting dates correctly in our entries 03:08
  104. 104 Introduction to MongoDB 06:49
  105. 105 Accessing MongoDB with Compass and Atlas 09:14
  106. 106 Storing Microblog entries in MongoDB 06:35
  107. 107 Retrieving the Microblog entries from MongoDB 03:08
  108. 108 How to use Flask's app factory pattern 02:49
  109. 109 What is the requirements.txt file? 03:52
  110. 110 What is Heroku? 09:56
  111. 111 The end result of this section: a fully deployed app 01:27
  112. 112 Getting our app ready for Heroku 04:59
  113. 113 Deploying our app to Heroku 09:37
  114. 114 Hiding the MongoDB connection details from our code 09:37
  115. 115 Defining Jinja variables using the 'set' keyword 04:13
  116. 116 Jinja filters to call inline functions using the pipe operator 02:53
  117. 117 Jinja macros to improve reusability and remove duplication 07:32
  118. 118 Jinja inheritance using 'extends' and 'block' 07:05
  119. 119 How to use CSS style tags with inheritance 05:49
  120. 120 Handling CSS in larger apps with inheritance 05:26
  121. 121 Jinja tests using the 'is' keyword 06:45
  122. 122 The Jinja Environment and Rendering Context 05:52
  123. 123 Routing with Jinja using url_for in your templates 07:40
  124. 124 Habit tracker project overview 01:53
  125. 125 Displaying and saving habits 14:00
  126. 126 Styling the habit tracker 11:24
  127. 127 Adding date navigation 14:05
  128. 128 Styling the date navigation 07:20
  129. 129 Completing habits 15:30
  130. 130 Adding Flask blueprints 07:25
  131. 131 Using MongoDB in the habit tracker 16:19
  132. 132 Deploying our app to Heroku 08:07
  133. 133 Jinja Includes with the include keyword 13:37
  134. 134 Whitespace control in Jinja 04:30
  135. 135 Jinja escaping and unescaping 03:00
  136. 136 The call block for Jinja macros 05:16
  137. 137 Portfolio Project Overview 02:00
  138. 138 Making our Flask app for this project 05:14
  139. 139 The base template and nav bar 08:01
  140. 140 Adding an about page to our Flask app 03:17
  141. 141 Adding a contact page to our Flask app 07:19
  142. 142 Introduction to CSS Grid 12:44
  143. 143 Media queries with CSS for responsive development 04:34
  144. 144 Displaying projects in the homepage using CSS Grid 22:10
  145. 145 Creating the individual project pages 19:39
  146. 146 Error handling with Flask using app.errorhandler 04:14
  147. 147 What are cookies? What are sessions? 08:39
  148. 148 Registering users in your Flask apps 11:28
  149. 149 Logging users in with Flask 07:42
  150. 150 Password hashing (or encryption) with passlib 09:18
  151. 151 Creating a 'login required' decorator 07:05
  152. 152 Project overview and CSS variables 15:18
  153. 153 Adding a nav bar 15:22
  154. 154 Adding a footer 01:05
  155. 155 Putting the page layout together 02:57
  156. 156 How to toggle dark mode in a Flask app 09:54
  157. 157 Create a form with WTForms 07:04
  158. 158 Render a WTForm in our template 18:29
  159. 159 Receive and validate data using WTForms 14:00
  160. 160 Displaying a table of all movies 11:17
  161. 161 Creating the movie details page 10:07
  162. 162 Setting movie ratings 12:34
  163. 163 Set the last watched date 03:23
  164. 164 Create a custom WTForm Widget 07:05
  165. 165 Editing movies and pre-populating a form 07:24
  166. 166 Add user signups to a Flask app 09:47
  167. 167 Add user logins to a Flask app 09:43
  168. 168 Personalize pages based on the logged in user 08:12
  169. 169 Add user logouts to a Flask app 02:24
  170. 170 Deploy our Flask app to Heroku 08:54
  171. 171 Concurrency in Heroku with gunicorn 05:31

Related courses

Frequently asked questions

What is Web Developer Bootcamp with Flask and Python in 2022 about?
Welcome to the Web Developer Bootcamp with Flask and Python ! This course is designed to teach you how to build and deploy dynamic websites using Python, Flask, MongoDB, HTML, and CSS . If you're looking to share your projects online and…
Who teaches Web Developer Bootcamp with Flask and Python in 2022?
Web Developer Bootcamp with Flask and Python in 2022 is taught by Udemy. You can find more courses by this instructor on the corresponding source page.
How long is Web Developer Bootcamp with Flask and Python in 2022?
Web Developer Bootcamp with Flask and Python in 2022 contains 171 lessons with a total runtime of 19 hours 57 minutes. All lessons are available to watch online at your own pace.
Is Web Developer Bootcamp with Flask and Python in 2022 free to watch?
Web Developer Bootcamp with Flask and Python in 2022 is part of CourseFlix's premium catalog. A CourseFlix subscription unlocks the full video player; the course description, table of contents, and preview information are available to everyone.
Where can I watch Web Developer Bootcamp with Flask and Python in 2022 online?
Web Developer Bootcamp with Flask and Python in 2022 is available to watch online on CourseFlix at https://courseflix.net/course/web-developer-bootcamp-with-flask-and-python-in-2022. The page hosts every lesson with the integrated video player; no download is required.