Mô tả

Welcome to the Web Developer Bootcamp with Flask and Python! In this course, you'll learn how to build and deploy dynamic websites using Python, Flask, MongoDB, HTML, and CSS!

If you want to share your projects online and become a full stack web developer, you're in the right place! I will teach you the latest and most popular technologies, including Python 3.10, Flask, HTML 5, and CSS 3.

I won't teach you jQuery or Bootstrap since those are old technologies! Instead, I focus on giving you a solid HTML and CSS foundation, so that you can be truly independent, and build anything you want.

I'll help you write many real-world projects that test your skills and build your understanding. By the end of the course, you'll be able to design and code any feature on any website!

This course beats attending any live bootcamp or workshop because I've put hundreds of hours into planning, recording, and editing. Plus you get lifetime access, and I provide outstanding support—I answer dozens of questions every day!


Why learn Flask?

Flask is a microframework for web development, written in Python.

It's lightweight and simple, so you can start using it straight away. As you go through the course and learn more about it, you'll realize it's also really powerful!

Flask provides everything we need for building websites: a good way to organize our apps, helpers for user authentication, a large selection of plugins and extensions to do dozens of other things, and much more!


What you'll learn!

Here's an overview of what you'll learn in this course:

  • A super-strong HTML 5 and CSS 3 foundation

  • How to plan your software projects and make them successful

  • Design websites using design software like Figma

  • Semantic HTML, and how to code in HTML like a professional

  • Build backend applications with Flask and Python

  • Make your HTML websites dynamic with Flask and Jinja2

  • Become a CSS professional: learn about flex, grid, CSS animations, and much more

  • Store and retrieve data with MongoDB on the Cloud

  • Deploy your web applications (using both free and paid solutions)

  • Implement user authentication on your Python and Flask websites

  • Much, much more!

  • But most importantly, learn to code from a professional software developer, and like a professional software developer

I won't cover JavaScript in detail, but that's because you just don't need it! With HTML, CSS, and a backend (written with Flask and Python) you can do almost anything your users want. Later on, you can always learn JavaScript for extra functionality. Trying to learn JavaScript and Python together leads to problems, and everything becomes a bit more difficult than it has to be.

If you already know a little bit about programming (with Python or any other language), you're ready to start this course! Also, I've included a complete Python Refresher section to help you get up to speed with Python if you don't know it well already.


Other students are loving the course!

"Jose is a Master of the Art of Programming. This course is truly underrated. He goes straight to the point, yet flesh out all the Gotchas. Introduces current best practices in Web dev. An easy 5 for this course!" - Olayemi Akinsanya

"Great course, learned loads, really great for OOP and for web development. Really fun, can't wait to start my own projects now!" - Joshua Shallow

"A well organized and very useful course! Thank you, Jose!" - Leonid Bushman


Feel free to look through the preview videos of this course to see if it's a good fit for you!

Remember I offer a 30-day money-back guarantee, so you can join me for an entire month, risk-free, and decide whether to keep going or not.

I'll see you on the inside!

Jose Salvatierra

Bạn sẽ học được gì

Build complete, dynamic websites for your freelance projects or business

Design, develop, and deploy full-stack web apps using Flask, Python, HTML, and CSS

Create your own portfolio website to showcase all your projects

Become a true HTML and CSS professional without the need for complicated JavaScript, or stop-gap solutions like Bootstrap and jQuery

Publish your websites online with Heroku for free

Connect your Python applications to a MongoDB database on the cloud

Allow your users to sign up and log in to your applications

Change the content of your web app's pages dynamically depending on the user that is logged in

Yêu cầu

  • Some programming experience required! Although I've included a comprehensive Python Refresher section in this course, you should know the fundamentals of programming
  • No software or payment information required. Everything we use is free and I'll guide you through installing anything you need!

Nội dung khoá học

14 sections

Welcome to this Course!

5 lectures
Welcome to the course!
03:26
Curriculum overview
01:36
Access the code and e-book here!
00:21
How to install Python on your computer
00:49
How to install your IDE
01:07

A Full Python Refresher

45 lectures
Introduction to this section
01:01
Access the code for this section here
00:24
Variables in Python
08:26
Creating variables (Python 3.10)
1 question
String formatting in Python
06:26
Getting user input
05:16
Asking users for input (Python 3.10)
1 question
Writing our first Python app
03:19
Lists, tuples and sets
06:31
Advanced set operations
04:39
Booleans in Python
04:59
If statements
08:17
The "in" keyword in Python
02:02
If statements with the "in" keyword
08:18
If statements (Python 3.10)
1 question
Loops in Python
11:07
List comprehensions in Python
07:24
Dictionaries
08:31
Destructuring variables
08:28
Functions in Python
10:41
Function arguments and parameters
07:40
Creating functions (Python 3.10)
1 question
Default parameter values
03:54
Functions returning values
07:19
Lambda functions in Python
07:52
Dictionary comprehensions
04:01
Unpacking arguments
10:24
Unpacking keyword arguments
08:44
Object-Oriented Programming in Python
15:52
Magic methods: __str__ and __repr__
06:25
@classmethod and @staticmethod
14:03
Class inheritance
08:32
Class composition
06:08
Type hinting in Python 3.5+
05:08
Imports in Python
09:33
Relative imports in Python
08:52
Errors in Python
12:47
Custom error classes
05:04
First-class functions
07:52
Simple decorators in Python
07:12
The 'at' syntax for decorators
03:33
Decorating functions with parameters
02:24
Decorators with parameters
04:50
Mutability in Python
06:03
Mutable default parameters (and why they're a bad idea)
04:27

Website Basics

4 lectures
How do websites and the internet work?
04:50
Front end vs. Back end development
02:15
Key web technologies: HTML, CSS, and JavaScript
02:58
The Browser Inspector: using the developer tools
06:26

Page structure with HTML

20 lectures
Elements: the basic components of HTML
03:07
Write your first HTML element
1 question
Reminder: where to find code and notes
00:51
A full example: HTML and CSS
10:52
Some of the most common HTML elements
05:19
Common HTML Elements
4 questions
What are HTML content categories?
05:28
HTML content categories
3 questions
Nesting elements in HTML
05:49
Starting our first HTML project
03:56
Which HTML elements can't be nested?
02:13
An overview of HTML container elements
06:14
A detailed look at HTML attributes
06:08
The class and id HTML attributes
3 questions
Adding images to our project
04:46
What is semantic HTML?
05:39
Document-level annotations in HTML
05:50
Document-level annotations
2 questions
Completing our HTML project with document-level annotations
03:05
The best HTML resource: MDN
02:03

Page style with CSS

16 lectures
How to link a CSS file
04:44
Linking CSS files
2 questions
Basic CSS selectors: targeting specific elements
08:12
How colours work: RGB, Hexadecimal, and HSL
05:53
Colours in CSS
3 questions
Colours in CSS: text and background
06:39
Starting to write our project's CSS file
06:12
Inheritance in CSS
05:43
What properties can't be inherited?
06:39
The CSS Box Model
05:26
CSS Box Model
3 questions
Overview of CSS units
03:45
Working with spacing in our project
04:54
Descendent selectors in CSS
07:10
What is specificity in CSS?
07:36
BEM: a simpler approach to CSS targeting
14:42

Project 1: Micro Blog (design+site)

21 lectures
Overview of this section's project
03:28
Access the finished code here
00:12
From our YouTube channel: How to start a new software project
11:55
Step 1: becoming a user
05:50
Step 2: populating the backlog
05:54
Step 3: wireframing or rough design
02:06
Step 4: pixel perfect design
17:59
Step 5: creating the page structure
05:02
Step 6: coding the page structure with HTML
04:43
What are SVGs?
02:59
How to include images in our HTML site
03:06
Finishing the header and navigation
03:41
HTML forms: sending data
05:40
HTML forms: working with textareas
03:11
Creating the footer with multiple columns
03:33
How to style the header and menu bar
10:53
Setting the font family in our project
00:39
How to style HTML forms and inputs
07:54
How to style the micro blog entries
03:32
How to style the page footer
06:37
A CSS reference for what we've used in this section
01:46

Backend Development with Flask

18 lectures
"Hello, world" with Flask
08:00
Using render_template to send longer HTML strings
04:35
What is Jinja2?
05:36
Jinja2 Expressions
08:20
Working with data structures in Jinja2
06:37
Conditional statements in Jinja2
05:23
Using loops in Jinja2
06:08
Setting up our Microblog project with Flask
06:40
Receiving form data using Flask
06:26
Displaying past entries in the Microblog project
04:35
Formatting dates correctly in our entries
03:07
Introduction to MongoDB
06:48
Accessing MongoDB with Compass and Atlas
09:13
Small update to pymongo affecting the next video
00:23
Storing Microblog entries in MongoDB
06:34
What happens when you hit "Refresh"?
01:12
Retrieving the Microblog entries from MongoDB
03:07
How to use Flask's app factory pattern
02:48

Deploying Flask Apps to Render.com

4 lectures
What is the requirements.txt file?
03:35
What do deployment services do for us?
01:41
Preparing our app for deployment
04:09
Deploy a Flask app to Render.com
05:46

Jinja2 Mastery: Level I

9 lectures
Defining Jinja variables using the 'set' keyword
04:12
Jinja filters to call inline functions using the pipe operator
02:52
Jinja macros to improve reusability and remove duplication
07:31
Jinja inheritance using 'extends' and 'block'
07:04
How to use CSS style tags with inheritance
05:48
Handling CSS in larger apps with inheritance
05:25
Jinja tests using the 'is' keyword
06:44
The Jinja Environment and Rendering Context
05:51
Routing with Jinja using url_for in your templates
07:39

Project 2: Habit Tracker

11 lectures
Habit tracker project overview
01:52
Displaying and saving habits
13:59
Styling the habit tracker
11:23
Adding date navigation
14:04
Styling the date navigation
07:19
Completing habits
15:29
Adding Flask blueprints
07:24
Setting up MongoDB
00:23
Using MongoDB in the habit tracker
16:18
Introduction to Git and GitHub
00:24
Deploying our habit tracker app to Render.com
00:55

Jinja Mastery: Level II

4 lectures
Jinja Includes with the include keyword
13:36
Whitespace control in Jinja
04:29
Jinja escaping and unescaping
02:59
The call block for Jinja macros
05:15

Project 3: Portfolio

11 lectures
Portfolio Project Overview
01:58
Making our Flask app for this project
05:13
The base template and nav bar
08:00
Adding an about page to our Flask app
03:16
Adding a contact page to our Flask app
07:18
Introduction to CSS Grid
12:43
Media queries with CSS for responsive development
04:33
Displaying projects in the homepage using CSS Grid
22:09
Creating the individual project pages
19:37
Error handling with Flask using app.errorhandler
04:13
Deploying our portfolio app to Render.com
00:55

Authentication in Flask Apps

5 lectures
What are cookies? What are sessions?
08:38
Registering users in your Flask apps
11:27
Logging users in with Flask
07:41
Password hashing (or encryption) with passlib
09:16
Creating a 'login required' decorator
07:04

Project 4: Movie Watchlist

22 lectures
Project overview and CSS variables
15:17
Adding a nav bar
15:21
Adding a footer
01:04
Putting the page layout together
02:55
How to toggle dark mode in a Flask app
09:53
Create a form with WTForms
07:03
Render a WTForm in our template
18:28
Receive and validate data using WTForms
13:59
Displaying a table of all movies
11:16
Creating the movie details page
10:06
Setting movie ratings
12:32
Set the last watched date
03:22
Create a custom WTForm Widget
07:04
Editing movies and pre-populating a form
07:23
Add user signups to a Flask app
09:46
Add user logins to a Flask app
09:42
Personalize pages based on the logged in user
08:11
Add user logouts to a Flask app
02:23
Deploying our movie watchlist app to Render.com
00:55
Concurrency in Render.com with gunicorn
00:39
Download the legacy course content here
00:29
Bonus lecture and conclusion
00:41

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.