Use code COURSEFARM to get 30% OFF on all products!
Miguel Grinberg – The New and Improved Flask Mega – Tutorial
Original price was: $39.00.$20.00Current price is: $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.
- Description
- Reviews (0)
Description
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
Here you’ll get in
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.