Module 1: Flask Basics
Instalation on Windows
Two Ways of Running Flask Apps
Instalation and Hello World
Installation Using Pipenv02:24
Intro to Routes
Route Methods
Route Variables
Request Query String
Request Form Data
Request JSON Data
Incoming Request Method04:24
Redirects and url_for
Configuration
Sessions
Debug Mode
Module 2: Templates
Intro to Templates
Template Variables
Conditionals
Loops
Static Files
Inheritance
Include
Module 3: Database
Creating the Database
Connect to the Database
Queries
Inserting Data
View All Results
Module 4: Food Tracker APP
Demo
The Starting HTML Files
Adding Templates
Creating the Database
Adding Database Helpers
Working With The Food Form
Inserting Food Data Into Database
Display All Foods in Database
Inserting the Date
Query All Dates
Day Screen
Add Food to Database
Get List Of Foods For Day
Getting Food Totals For Day
Links
Sum Totals Per Day
Adding Links
Refactor
Deployment Server Setup on Amazon Lightsail
Deploy To Amazon Lightsail Server
Errata
Module 5: Questions and Answer App
Demo
Overview of Templates
Install and Templates
Database Helpers
Creating the Database
Register User
Login
Sessions
Common User Function
Updating Links
Creating Test Users
User Setup Page
Create Question
List Questions
Answer Question
Home Route Questions
Question Page
Preventing duplicate users
Protecting Routes
Protecting Routes by Role
Login Failure Messages
Formatting Queries
Added Link Macro
Base Template
Deploy to Heroku
Convert to Postgres
Static Secret Key On Heroku
Module 6: Member API
Demo
Setting Up The App and Test With Postman
Adding Database Helpers
Create the Database
Create a New Member
Return Member After Creation
Get All Members
Get One Member
Edit A Member
Delete A Member
Authentication
Authentication Decorator
Deploy to Python Anywhere
Module 7: Flask-SQLAlchemy
Setting Up A Database and Determing the URI
Installing Flask-SQLAlchemy
Connecting to the Database
Create a Table
Inserting Data
Updating Data
Deleting Data
Intro to Queries
Generative Queries
Not Equals and Like
In and Not In
Null and Not Null
And
Or
Order By
Limit
Offset
Count
Inequality
One to Many Relationships
One to Many Queries
Many to Many Relationships
Many to Many Queries
Module 8: Flask-SQLAlchemy By Example
Install and Set Up
Create the Models
Create the Relationships
Create the Database
Insert Data
Updating Data
Deleting Data
Populating the Database
Get All Customer Orders
Get All Pending Orders
How Many Customers
Get Orders With Coupon Codes
Get Revenue in Past X Days
Get the Average Fulfillment Time
Get Customers Who Have Purchased More Than $X
Module 9: Flask WTF
Install and Set Up
Creating a Form
Submit the Form
Validators
More Fields
Adding An Extra Validator
Changing Labels and Defaults
Prepopulating Data
Populate Obj
More on CSRF
Jinja Macro
Form Inheritance
Field Enclosures
Field List
Delete Field
Dynamic Forms
Note on JavaScript AJAX
Recaptcha Field
Inline Validators
Information on Other Fields and Validators
Date Fields
Flask-WTF Example
Module 10: Flask - Bootstrap
Installation Setup
Blank HTML
Available Blocks
Module 11: Flask - Mail
Configuration
Set Up Server and Send Email
Note on Debug
Email Body
Adding More Recipients
Adding Sender Name
Bulk Messages
Attachments
Other Message Parameters
Setting Up Gmail
Module 12: Flask - Migrate
Installation and Environment Variable Setup
Creating Database, Adding SQLAlchemy and Migrate
Create Table Upgrade in SQLite
Upgrading With SQLite
SQLite Downgrades
Upgrading and Downgrading
MySQL Upgrade and Downgrade
Manually Edit Migration
Dropping Columns in SQLite
Module 13: Flask - Uploads
Installation and Configuration
Upload Form
Uploading First Image
Allow and Deny
Default Dest
Combining Extensions
Module 14: Flask - Login
Installation and Init
Add User Model
The User Loader
Login User
Current User
Logout User
Creating a Login Form
Redirect to Login Route
Login Message
Redirect
Remember Me
Fresh Login
Auto Expire
Alternative Tokens
Using MongoDB
Module 15: Flask - Admin
Install and Setup
Add User View
View of Table With Multiple Columns
Table with Relationship
Remove Column from View
Display Primary Key Column
Enable/Disable Create, Edit, and Delete
Export Table Data
Create Modal
Other Attributes
Using on_model_change to Automatically Hash Password
File Admin
Modifying the Home Template
Modifying Other Views
Creating a New View
URL For
Inline Models
Auth for Views
Adding Flask-Login
Module 16: Flask - User
Installation and Configuration
Create Database
Flask-User Sign In and Register Screens
Create Protected Page
What Flask-User Does to Database Record
Enabling Emails
Modifying Templates
Modifying Email Templates
Changing the After Register Endpoint
Current User Information
Module 17: Flask - Babel
Install Flask-Babel
Locale
Dates and Datetime
Marking Words for Translation
Translations
Poedit
Module 18: Flask - Restless
Installation
Setup Models
Create Database
Integrate Flask-Restless
GET Requests
GET Specific Items
POST Requests
DELETE Requests
PUT Requests
Limit
Offset
Order By
Search Queries
In and Not in Operators
Is Null and Is Not Null Operators
Like Operator
Or Queries
Any Operator
Has Operator
Deleting With Queries
Patch With Queries Bug
Pagination
Module 19: Flask - SocketIO
Installation and Setup
Setting Up JavaScript Client
Sending From Client to Server
Sending From Server to Client
Emit Custom Events
Sending and Receiving JSON
Multiple Clients
Broadcasting Messages
Server Initiated Events
Namespaces
Session IDs
Send Private Message
Join Room
Leave Room
Close Room
Connect and Disconnect
Module 20: Flask - SecuritySecurity
Installation and Setup
Create Database
View Login and Register Routes
Additional Routes
Login Required and Current User
Roles
Enabling Mail
Custom Emails
Custom Views
Extending the Forms
HTTP Basic Auth
Module 21: A Twitter Clone
Overview of Templates
Create Routes With Templates
Convert Static Resources
Prepare Flask-Migrate and Flask-SQLAlchemy
Create SQLite Database
Add User Model and Create Table
Creating the Register Form
Convert Register Form to WTForm
Testing the Register Form
Adding Error Messages to Register Form
Handling the Profile Image Upload
Save Registration Data to Database
Creating the Login Form
Creating the Login Route
Finishing the Login Form
Displaying the Profile Information
Create Tweet Model and Migrate
Create Tweet Form
Update Timeline to Be Dynamic
Add Time Since Tweet Created
First Refactor
Timeline Image and Total Tweets
General Timeline Page
Make Profile General
Follower Model
Add Follow Route
Update Follower Count and List of Followers
Create Follow Link
Test Follow Link
Update Timeline Page
Add Links to User Profiles
Who to Watch Section
Add User Timeline Links
Refactor HTML
Refactor Navigation
Make Navigation Links Dependent on Login Status
Update Timeline Follower Count and Change Homepage
Refactor Views
Refactor Register Template
Conclusion
Module 22: Store App
Starting Files
Adding the Product Table
Creating the Add Product Form
Add Products to Database
Admin Dashboard Product List
Showing the Dollar Amount and Product Counts
Adding Products to Homepage
The Product Page
Adding to the Cart
The Cart Session
Display the Items in Cart
Remove Item From Cart
Creating the Order Tables
Creating the Checkout Form
Checkout Form Continued
Checkout Form Finalized
Randomizing the Reference
Checkout Screen Cart Details
Admin Pending Orders
Calculating the Order Total
Order Screen
Updating the Stock Totals
Module 23: Forum App
Overview of App
Setting up the Flask-Security Models
Setting Up the Register Page
Setting Up A User
Login Screen
Thread Model
Saving the Thread Form to Database
Displaying Threads from the Database
Updating the Thread Model to Include Date
Thread Page
Creating the Reply Model
Handling Replies
Last Post Date
The Profile Page
Adding Links and Wrap Up
Module 24: Weather App
Intro
Set Up App
Retrieve API Data
Create Database
Add Cities to Database
Show Saved City Data
Allow User Save Cities
Install Python-Dotenv
Prevent Duplicate Cities
Prevent Invalid Cities
Message Flashing
Deleting Cities