Miguel Grinberg – The New and Improved Flask Mega – Tutorial

-49%

Miguel Grinberg – The New and Improved Flask Mega – Tutorial

Miguel Grinberg - The New and Improved Flask Mega - Tutorial

Miguel Grinberg – The New and Improved Flask Mega – Tutorial

$20.00

In stock

$20.00

This new edition of the tutorial includes over 11 hours of video showing how to perform all the steps, plus the written version, which is an ebook of approximately 330 pages. The ebook can be read online, or downloaded in PDF, EPUB and MOBI formats.

Purchase this product now and earn 20 Points!
10 Points = $1

Description

Miguel Grinberg – The New and Improved Flask Mega – Tutorial

Miguel Grinberg - The New and Improved Flask Mega - Tutorial

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 Kicker 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 new edition of the tutorial includes over 11 hours of video showing how to perform all the steps, plus the written version, which is an ebook of approximately 330 pages. The ebook can be read online, or downloaded in PDF, EPUB and MOBI formats.

Your Instructor

Miguel Grinberg
Miguel Grinberg

Miguel Grinberg has over 25 years of experience as a software engineer in a variety of areas such as web development, microservices, cloud, computer animation and video broadcasting. He blogs at https://blog.miguelgrinberg.com about a variety of topics including web development, Python, robotics, photography and the occasional movie review. Miguel lives in beautiful Portland, Oregon.

Course Curriculum

Ebook Downloads

The Flask Mega-Tutorial Ebook Downloads

Preface

Preface

Chapter 1: Hello, World!

Introduction (1:37)

Installing Python (3:12)

Installing Flask (4:52)

A “Hello, World” Flask Application (11:24)

Chapter 2: Templates

Introduction (1:59)

What Are Templates? (8:12)

Conditional Statements (1:39)

Loops (4:08)

Template Inheritance (3:37)

Chapter 3: Web Forms

Get Miguel Grinberg – The New and Improved Flask Mega – Tutorial download

Introduction (0:38)

Introduction to Flask-WTF (5:50)

User Login Form (4:10)

Form Templates (5:13)

Form Views (3:51)

Receiving Form Data (7:54)

Improving Field Validation (2:50)

Generating Links (2:07)

Chapter 4: Database

Introduction (0:15)

Databases in Flask (0:58)

Database Migrations (0:53)

Flask-SQLAlchemy Configuration (6:15)

Database Models (4:57)

Creating the Migration Repository (1:41)

The First Database Migration (2:10)

Database Upgrade and Downgrade Workflow (1:20)

Database Relationships (7:53)

Play Time! (7:43)

Shell Context (2:11)

Chapter 5: User Logins

Introduction (0:14)

Password Hashing (4:46)

Introduction to Flask-Login (1:15)

Preparing the User Model for Flask-Login (1:02)

User Loader Function (1:54)

Logging Users In (8:28)

Logging Users Out (2:43)

Requiring Users to Login (5:16)

Showing the Logged In User in Templates (1:22)

User Registration (12:51)

Chapter 6: Profile Page and Avatars

Introduction (0:16)

User Profile Page (6:13)

Avatars (8:03)

Using Jinja2 Sub-Templates (1:45)

More Interesting Profiles (2:57)

Recording The Last Visit Time For a User (2:54)

Profile Editor (9:11)

Chapter 7: Error Handling

Introduction (0:12)

Error Handling in Flask (2:49)

Debug Mode (3:05)

Custom Error Pages (6:59)

Sending Errors by Email (8:00)

Logging to a File (3:33)

Fixing the Duplicate Username Bug (3:18)

Chapter 8: Followers

Introduction (0:12)

Database Relationships Revisited (2:32)

Representing Followers (0:57)

Database Model Representation (6:24)

Adding and Removing “follows” (6:06)

Obtaining the Posts from Followed Users (5:16)

Combining Own and Followed Posts (1:37)

Unit Testing the User Model (4:16)

Integrating Followers with the Application (7:08)

Chapter 9: Pagination

Introduction (0:18)

Submission of Blog Posts (5:54)

Displaying Blog Posts (1:55)

Making It Easier to Find Users to Follow (5:31)

Pagination of Blog Posts (5:10)

Page Navigation (4:35)

Pagination in the User Profile Page (2:38)

Chapter 10: Email Support

Introduction (3:32)

Introduction to Flask-Mail (3:07)

Flask-Mail Usage (2:53)

A Simple Email Framework (1:09)

Requesting a Password Reset (2:13)

Password Reset Tokens (7:53)

Sending a Password Reset Email (3:18)

Resetting a User Password (4:56)

Asynchronous Emails (2:16)

Chapter 11: Facelift

Introduction (0:18)

CSS Frameworks (1:01)

Introducing Bootstrap (1:44)

Using Flask-Bootstrap (3:08)

Rendering Bootstrap Forms (1:13)

Rendering of Blog Posts (0:32)

Rendering Pagination Links (0:42)

Before and After (1:39)

Chapter 12: Dates and Times

Introduction (0:17)

Timezone Hell (2:15)

Timezone Conversions (1:59)

Introducing Moment.js and Flask-Moment (3:38)

Using Moment.js (3:39)

Chapter 13: I18n and L10n

Introduction (0:12)

Introduction to Flask-Babel (5:44)

Marking Texts to Translate in Python Source Code (3:39)

Marking Texts to Translate in Templates (2:18)

Extracting Text to Translate (3:00)

Generating a Language Catalog (5:24)

Updating the Translations (1:34)

Translating Dates and Times (2:32)

Command-Line Enhancements (3:25)

Chapter 14: Ajax

Introduction (0:26)

Server-side vs. Client-side (1:57)

Live Translation Workflow (2:10)

Language Identification (5:50)

Displaying a “Translate” Link (1:42)

Using a Third-Party Translation Service (10:17)

Ajax From The Server (2:39)

Ajax From The Client (11:20)

Chapter 15: A Better Application Structure

Introduction (0:23)

Current Limitations (1:29)

Blueprints (6:15)

The Application Factory Pattern (7:03)

Unit Testing Improvements (3:35)

Environment Variables (2:41)

Requirements File (1:47)

Chapter 16: Full-Text Search

Introduction (0:12)

Introduction to Full-Text Search Engines (1:38)

Installing Elasticsearch (2:22)

Elasticsearch Tutorial (6:50)

Elasticsearch Configuration (3:09)

A Full-Text Search Abstraction (9:31)

Integrating Searches with SQLAlchemy (7:53)

Search Form (7:01)

Search View Function (3:07)

Chapter 17: Deployment on Linux

Introduction (0:22)

Traditional Hosting (1:03)

Creating a Ubuntu Server (1:52)

Using a SSH Client (1:44)

Password-less Logins (6:07)

Securing Your Server (4:25)

Installing Base Dependencies (3:31)

Installing the Application (4:54)

Setting Up MySQL (2:48)

Setting Up Gunicorn and Supervisor (4:25)

Setting Up Nginx (7:19)

Deploying Application Updates (1:19)

Raspberry Pi Hosting (1:16)

Chapter 18: Deployment on Heroku

Introduction (0:12)

Hosting on Heroku (0:32)

Creating a Heroku Account (0:14)

Installing the Heroku CLI (1:37)

Setting Up Git (0:58)

Creating a Heroku Application (1:41)

The Ephemeral File System (1:11)

Working With a Heroku Postgres Database (1:12)

Logging to stdout (2:35)

Compiled Translations (0:44)

Elasticsearch Hosting (0:56)

Updates to Requirements (0:55)

The Procfile (2:26)

Deploying the Application (2:38)

Deploying Application Upgrades (0:25)

Chapter 19: Deployment on Docker Containers

Introduction (0:25)

Installing Docker CE (0:45)

Building a Container Image (9:24)

ing a Container (4:47)

Using Third-Party “Containerized” Services (9:33)

The Docker Container Registry (2:38)

Deployment of Containerized Applications (0:49)

Chapter 20: Some JavaScript Magic

Introduction (0:25)

Server-side Support (2:16)

Introduction to the Bootstrap Popover Component (2:35)

Executing a Function on Page Load (2:00)

Finding DOM Elements with Selectors (1:51)

Popovers and the DOM (5:29)

Hover Events (3:48)

Ajax Requests (3:41)

Popover Creation and Destruction (3:04)

Chapter 21: User Notifications

Introduction (0:21)

Private Messages (9:22)

Static Message Notification Badge (0:46)

Dynamic Message Notification Badge (3:48)

Delivering Notifications to Clients (10:29)

Chapter 22: Background Jobs

Introduction (0:14)

Introduction to Task Queues (1:37)

Using RQ (8:19)

Database Representation of Tasks (3:05)

Integrating RQ with the Flask Application (4:02)

Sending Emails from the RQ Task (2:16)

Task Helpers (3:29)

Implementing the Export Task (5:26)

Export Functionality in the Application (2:30)

Progress Notifications (7:45)

Deployment Considerations (6:57)

Chapter 23: Application Programming Interfaces (APIs)

Introduction (0:23)

REST as a Foundation of API Design (4:34)

Implementing an API Blueprint (2:18)
Representing Users as JSON Objects (4:19)

Representing Collections of Users (3:58)

Error Handling (4:04)

User Resource Endpoints (10:58)

API Authentication (18:15)

API Friendly Error Messages (3:02)

Frequently Asked Questions

When does the course and finish?
The course s now and never ends! It is a completely self-paced online course – you decide when you and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like – across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.

Readmore: http://archive.is/HUQMd

Reviews

There are no reviews yet.


Be the first to review “Miguel Grinberg – The New and Improved Flask Mega – Tutorial”

You've just added this product to the cart: