Skip to main content

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
By connecting students all over the world to the best instructors, Udemy is helping individuals reach their goals and pursue their dreams. Udemy is the leading global marketplace for teaching and learning, connecting millions of students to the skills they need to succeed. Udemy helps organizations of all kinds prepare for the ever-evolving future of work. Our curated collection of top-rated business and technical courses gives companies, governments, and nonprofits the power to develop in-house expertise and satisfy employees’ hunger for learning and development.

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