The Flask Mega-Tutorial (Python Web Development)
4.7 (247 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,137 students enrolled

The Flask Mega-Tutorial (Python Web Development)

The most complete introduction to web development with Python and Flask
Highest Rated
4.7 (247 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,137 students enrolled
Created by Miguel Grinberg
Last updated 6/2018
English
English [Auto], Italian [Auto]
Price: $29.99
30-Day Money-Back Guarantee
This course includes
  • 11.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Write complete web applications using Python and Flask
  • Accept user input through web forms
  • Use relational databases
  • Manage user logins and authentication
  • Translate and localize application messages
  • Implement a search engine
  • Add JavaScript user-friendly features
  • Application Programming Interfaces (APIs)
  • Deploy your application on Linux servers or Docker containers
  • Deploy your application on Heroku
Course content
Expand all 192 lectures 11:26:45
+ Templates
5 lectures 19:35
Introduction
01:59
What Are Templates?
08:12
Conditional Statements
01:39
Loops
04:08
Template Inheritance
03:37
+ Web Forms
8 lectures 32:34
Introduction
00:38
Introduction to Flask-WTF
05:50
User Login Form
04:10
Form Templates
05:13
Form Views
03:51
Receiving Form Data
07:54
Improving Field Validation
02:50
Generating Links
02:08
+ Database
11 lectures 36:17
Introduction
00:15
Databases In Flask
00:58
Database Migrations
00:53
Flask-SQLAlchemy Configuration
06:15
Database Models
04:57
Creating the Migration Repository
01:41
The First Database Migration
02:10
Database Upgrade and Downgrade Workflow
01:20
Database Relationships
07:53
Play Time
07:43
Shell Context
02:12
+ User Logins
10 lectures 39:51
Introduction
00:14
Password Hashing
04:46
Introduction to Flask-Login
01:15
Preparing the User Model for Flask-Login
01:02
User Loader Function
01:53
Logging Users In
08:28
Logging Users Out
02:43
Requiring Users to Log In
05:16
Showing the Logged In User in Templates
01:22
User Registration
12:52
+ Profile Page and Avatars
7 lectures 31:20
Introduction
00:16
User Profile Page
06:13
Avatars
08:03
Using Jinja2 Sub-Templates
01:45
More Interesting Profiles
02:57
Recording The Last Visit Time For a User
02:54
Profile Editor
09:12
+ Error Handling
7 lectures 27:56
Introduction
00:11
Error Handling in Flask
02:49
Debug Mode
03:05
Custom Error Pages
06:59
Sending Errors by Email
08:00
Logging to a File
03:33
Fixing the Duplicate Username Bug
03:19
+ Followers
9 lectures 34:27
Introduction
00:11
Database Relationships Revisited
02:32
Representing Followers
00:57
Database Model Representation
06:24
Adding and Removing "follows"
06:05
Obtaining the Posts from Followed Users
05:16
Combining Own and Followed Posts
01:37
Unit Testing the User Model
04:16
Integrating Followers with the Application
07:09
+ Pagination
7 lectures 26:02
Introduction
00:18
Submission of Blog Posts
05:54
Displaying Blog Posts
01:55
Making It Easier to Find Users to Follow
05:31
Pagination of Blog Posts
05:10
Page Navigation
04:35
Pagination in the User Profile Page
02:39
+ Email Support
9 lectures 31:18
Introduction
03:32
Introduction to Flask-Mail
03:07
Flask-Mail Usage
02:53
A Simple Email Framework
01:09
Request a Password Reset
02:13
Password Reset Tokens
07:53
Sending a Password Reset Email
03:18
Resetting a User Password
04:56
Asynchronous Emails
02:17
Requirements
  • Familiarity with Python, at least at a beginner level.
  • Knowledge of the command-line prompt in your operating system to perform basic file and directory functions.
Description

The Flask Mega-Tutorial is an overarching tutorial for Python beginner and intermediate developers that teaches web development with the Flask framework. The tutorial was born as a series of blog articles, and has been thoroughly revised, updated and expanded as a result of a successful Kickstarter campaign. The concepts that are covered go well beyond Flask, including a wide range of topics Python web developers need to know when writing their own applications.

The goal of the course is to build a nicely featured social blogging web application. Chapter 1 begins with a very simple version of this application that has just a few lines of code. Then, each successive chapter adds a new feature to it. The 23 chapters in this course can be roughly split into two parts: the first 12 chapters are focused on basic web development concepts, while the remaining 11 chapters cover intermediate and advanced techniques. All the code featured in this tutorial is open source, and is available on GitHub. You are welcome to use any of it for your own projects!

This edition of the tutorial includes over 11 hours of video showing how to perform all the steps in detail. For added context, the blog articles from where this tutorial originated are available on Miguel Grinberg's blog.

Who this course is for:
  • Beginner and intermediate Python developers interested in learning web development.